2013-08-02 51 views
0

我正在使用數據表,我有興趣做一些事情,一旦用戶從選擇框中選擇了一些東西。問題是,數據表中的選擇框沒有有一個id,這樣我可能只是做在事件中使用選擇框的名稱而不是id或class

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

的HTML中所述的選擇貌似

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

有沒有一種方法,我可以使用example_length不設置id或class?

+0

仔細看看jquery屬性選擇器(http://api.jquery.com/category/selectors/attribute-selectors/)。 '$('select [name = example_length]')'應該在你的場景中工作。 – UweB

回答

1

嘗試

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

FIDDLE Demo

1

所生成的選擇框將具有名稱屬性,因爲:

id_of_your_table + '_length' 

的事件連接到這個選擇框的代碼是在函數內部_fnFeatureHtmlLength (oSettings) jquery.datatables.js 因此,您可以在其中添加代碼,也可以添加事件這

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

其中tableId

0

確保您的表的id,你可以針對選擇與常規的DOM方法,然後把它包在jQuery中,這樣的事情:

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

請注意,名稱可能不唯一。

1

以前的回覆是關閉的,但語法稍微偏離。

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

注意整個選擇是包裹在報價和該本身並不需要自己的報價。

相關問題