2

我有一堆这些选择字段..

<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>

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

4

2 回答 2

3

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

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

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

于 2012-05-26T01:42:24.393 回答
2
var pattern = /options\[\d{1,}\]\[option_group_id\]/;
$('select').filter(function(){
    return $(this).attr('name').match(pattern) !== null;
}).live(...
于 2012-05-26T01:43:35.050 回答