Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery按名称[值][id]访问输入字段_Jquery_Drupal_Cck_Checkbox_Inputbox - Fatal编程技术网

jQuery按名称[值][id]访问输入字段

jQuery按名称[值][id]访问输入字段,jquery,drupal,cck,checkbox,inputbox,Jquery,Drupal,Cck,Checkbox,Inputbox,我有一些HTML代码如下: <input id="fieldname-1" name="field_name[value][1]" value="1" type="checkbox" /> <input id="fieldname-2" name="field_name[value][2]" value="2" type="checkbox" /> <input id="fieldname-3" name="field_name[value][3]" value="

我有一些HTML代码如下:

<input id="fieldname-1" name="field_name[value][1]" value="1" type="checkbox" />
<input id="fieldname-2" name="field_name[value][2]" value="2" type="checkbox" />
<input id="fieldname-3" name="field_name[value][3]" value="3" type="checkbox" />
我无法通过调用
$('.classname')
来添加类字段,因为它是由Drupal的cck模块呈现的,我不想将其添加到主题层

最好是让我的模块为每个字段添加一个类。但是更快的解决方案是知道如何通过jQuery访问这些字段,您可以使用jQuery对
name
属性进行精确匹配

$('input[name="field_name[value][2]"]').change(func...
或者,如果您想要所有以
字段名称开头的
元素,您可以使用

这将选择
名称
属性以
字段名称
开头的所有
元素

此外,如果选择器中的
:复选框都是复选框,则可以在选择器中使用
:复选框,而不是
input

此外,您也可以使用相同的方法,但如果需要,可以使用ID属性

$('input[id^=fieldname]').change(func...

似乎您需要一个模糊选择器:[name^=value] 这样的事情可能就足够了:

$('[name^=field_name]').each(function(index,element){
  $(element).change(function(){})
})

为什么不使用id访问?因为使用id只能访问一个字段。我希望jquery在多个字段上运行(在我的问题中忘了说这一点),而且当我添加字段时,我必须重写jquery代码
$('input[id^=fieldname]').change(func...
$('[name^=field_name]').each(function(index,element){
  $(element).change(function(){})
})