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

时间:2010-10-18 14:40:26

标签: 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="3" type="checkbox" />

我想用jQuery访问它:

$('input[field_name]').change( function() { dosomething(); });

我无法通过调用$('.classname')来添加类字段,因为它是由Drupal的cck模块呈现的,我不想将其添加到主题层。

最好的办法是让我的模块为每个字段添加一个类。但更快的解决方案是知道如何通过jQuery访问这些字段

2 个答案:

答案 0 :(得分:3)

您可以使用the attribute equals selectorname属性进行完全匹配。

$('input[name="field_name[value][2]"]').change(func...

或者,如果您想要所有<input>开头的field_name元素,则可以使用the attribute starts with selector

$('input[name^=field_name]').change(func...

这将选择<input>属性以name开头的所有field_name元素。

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

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

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

答案 1 :(得分:1)

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

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