用于多维选择字段的jQuery选择器中的通配符

时间:2012-05-26 01:35:35

标签: jquery jquery-selectors

我有很多这些选择字段..

<select name="options[0][option_group_id]" />
<select name="options[1][option_group_id]" />
<select name="options[2][option_group_id]" />
<select name="options[new3][option_group_id]" />

我想分配一个onchange事件,如下所示,其中\ S是键0,1,2,new3 ...的通配符:

<script>
$("select[name^='options[\\S*][option_group_id]']").live("change", function(){
  alert('Houston we have contact!');
});
</script>

但它不起作用。我该怎么做才能让它发挥作用?

2 个答案:

答案 0 :(得分:3)

将其拆分为2个表达式:一个用于名称的开头,另一个用于结尾:

$('select[name^="options"][name$="[option_group_id]"]')

http://jsfiddle.net/zerkms/enZLu/

答案 1 :(得分:2)

var pattern = /options\[\d{1,}\]\[option_group_id\]/;
$('select').filter(function(){
    return $(this).attr('name').match(pattern) !== null;
}).live(...