jQuery按名称[值][id]访问输入字段
我有一些HTML代码如下: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="
<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(){})
})