如何在使用 jQuery 更新表单字段值时排除 "hidden" 类型字段

How to exclude "hidden" type fields while updating the form field values using jQuery

在我的 Django 应用程序中,我尝试使用 jQuery 更新输入字段。正在更新的字段是表单集字段,其中一个字段与用于强制外键关系的父模型相关。

正如在 Django 中设计的那样,外键字段也在动态表单集添加期间被克隆,并且与定义的其他可见字段(在 models/form 小部件中)具有类型 "hidden"。

这就是我正在做的更新文本类型字段中的值的操作(在添加表单期间):

$('#'+tempNumTag + ' input').val(tempNum);

其中:

  1. tempNumTag : 为 formset
  2. 的每一行构建哈希标签
  3. tempNum:正在更新字段中的值(id "tempNumTag")

这样做,我的 text 类型输入会更新为值 ("tempNum"),但是“hidden”字段的 "value" 也同时更新,与变量“tempNum”的值相同。

我想做的是:

//  if field type is not hidden {
// Something on the line: "input:hidden"
        $('#'+tempNumTag + ' input').val(tempNum);
//  }

以便从上述更新中排除隐藏字段

如何进行排除隐藏字段的条件更新?

css select或者隐藏元素是:hidden,排除隐藏元素是:not(:hidden)所以input:not(:hidden)会select 所有未隐藏的输入元素:

$('#'+tempNumTag + ' input:not(:hidden)').val(tempNum);