[英]How to use selector name as a variable in jquery or javascript
我正在努力使用輸入名稱值作為選擇器來運行變量。 目前,我有3個數據表,每個表都有1個搜索按鈕以更新表。
我發現此代碼對於我添加的每個新表都是重復的,我還必須添加一個新的click函數,如下所示:
//example table and button
<button id="test1button" type="button" name="test1" class="tables">Submit</button>
<table id="test1">
</table>
//the codes I am trying to run
var test1 = $('#test1').DataTable({});
var test2 = $('#test2').DataTable({});
var test3 = $('#test3').DataTable({});
$('#test1button').click( function() {
test1.ajax.reload();
});
$('#test2button').click( function() {
test2.ajax.reload();
});
$('#test3button').click( function() {
test3.ajax.reload();
});
因此,我認為找到一種方法來組合代碼以向按鈕添加名稱作為將其用作值來確定要運行哪個var = test *的方法可能會更容易且更短。 所以我嘗試了這個:
$('.tables').click( function() {
var getdatatable = this.name; //e.g. value=test1
getdatatable.ajax.reload();
});
這樣可以正確檢索需要運行的var的名稱,例如test1,但是當我嘗試使用該值來運行var時,它將無法正常工作。
這有效
$('.tables').click( function() {
test1.ajax.reload();
});
但這不是
$('.tables').click( function() {
var getdatatable = this.name; //e.g. value=test1
getdatatable.ajax.reload();
});
我可以不使用不以這種方式使用的輸入名稱嗎?
你可以做這樣的事情。
$('.tables').click( function() {
var tableId= this.id;
var getdatatable = $('#'+tableId).DataTable({});
getdatatable.ajax.reload();
});
可以關閉此問題,因為已標記,因為從讀取數據表中可以選擇表,並且數據表將嘗試創建一個新表,或者如果已經完成,則將您帶回舊實例。 因此,通過編輯上面的一些示例,我使用this.name作為選擇器來使其工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.