0

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

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

所述选择的 html 看起来像

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

有没有办法可以example_length在没有提供 id 或 class 的地方使用?

4

4 回答 4

1

尝试

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

小提琴演示

于 2013-08-02T07:23:49.747 回答
1

生成的选择框将具有 name 属性,如下所示:

id_of_your_table + '_length'

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

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

tableId你的桌子的id在哪里

于 2013-08-02T07:24:25.047 回答
1

之前的回复很接近,但语法有点不对劲。

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

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

于 2013-08-02T07:30:39.490 回答
0

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

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

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

于 2013-08-02T07:25:22.387 回答