2

你能帮我简化这个选择器吗?

这是代码:

$("input[name='grpQuestion1'], input[name='grpQuestion2'], input[name='grpQuestion4']").change(function (event) {
    /* Some code here */ 
});
4

6 回答 6

3

试试这个

$('input[name^="grpQuestion"]').change(function (event) { /* Some Code Here */ });

jquery 有一些属性选择

比如$("[attribue^=value]")属性以值词开头的元素。 $("[attribue$=value]")属性以值词结尾的元素。 $("[attribue*=value]")属性包含作为部分或单词或确切单词的值的元素。 $("[attribue~=value]")属性包含值作为精确词的元素

于 2012-09-01T12:30:06.660 回答
0
$('input[name^="grpQuestion"]').change(/** your code */)

它所做的基本上是选择所有以“grpQuestion”开头的元素

于 2012-09-01T12:31:24.310 回答
0

你可以试试这个

$('input[name^="grpQuestion"]').change(function (event) { /* Some Code Here */ });

方法

输入以 name="grpQuestion" 开头

于 2012-09-01T12:31:41.083 回答
0

试试这个

$("input[name^=grpQuestion]").change(function (event) {
/* Some Code Here */ });
于 2012-09-01T12:33:21.010 回答
0

要选择名称属性以“grpQuestion”开头的前四个输入元素,可以使用以下 jQuery 选择器:

$('input[name^="grpQuestion"]:lt(4)')
于 2012-09-01T12:44:11.317 回答
0

你在评论中说你需要这三个名字,所以

 var names = ['grpQuestion1', 'grpQuestion2', 'grpQuestion4'];
 $.each(names, function(i, v) { 
   $('input[name='+v+']').change(function (event) {
        /* Some Code Here */ 
   });
 }); 

会使其更容易维护。

于 2012-09-01T12:52:55.150 回答