在事件中使用选择框的名称而不是id或class

时间:2013-08-02 07:09:54

标签: jquery

我正在使用数据表,一旦用户从选择框中选择了某些内容,我就会感兴趣。问题是,数据表中的选择框没有id,所以我可以刚刚完成

$("#myselectboxid").change(function(){
alert('do foo');
});

所述选择的html看起来像

<select name="example_length" size="1" aria-controls="example">

有没有办法可以使用example_length来提供id或class?

4 个答案:

答案 0 :(得分:1)

尝试

$('[name="example_length"]').on("change",function(){});

FIDDLE Demo

答案 1 :(得分:1)

生成的选择框将具有name属性:

id_of_your_table + '_length'

将事件附加到此选择框的代码位于jquery.datatables.js的函数_fnFeatureHtmlLength ( oSettings )内 所以,你可以在那里添加代码,也可以像这样添加事件

$("#tableId_length").change(function(){
});

其中tableId是您的表的ID

答案 2 :(得分:1)

之前的回复很接近,但语法略有不同。

$('[name=test]').change(function(){});

请注意,整个选择器都用引号括起来,名称本身不需要自己引用。

答案 3 :(得分:0)

当然,您可以使用常规DOM方法定位select,然后将其包装在jQUery中,如下所示:

var jq = $(document.getElementsByName("example_length"));
jq.change(function(){
    alert('foo');
});

请注意,名称可能不是唯一的。