jquery
2016-04-14 17 views 0 likes 
0

請記住,我使用Webforms ASP.NET與涉及更新面板。我對jquery很新,所以這裏是我的。我有一個複選框,它可以通過動態數量的列表項加載到pageload上。我已經想出瞭如何使用下面的代碼動態添加每個按鈕旁邊的按鈕。動態添加多個按鈕在jquery需要傳遞一個特定的參數OnClick

$("INPUT[id^='DefaultContent_checkLstWebObjects_").each(function() { 

         $(this).after('<input type="button" id="BlueButton" value=">" class="peek" onclick="Selectall()"/>'); 
        }); 

所以現在說我有3個按鈕,每個按鈕都會調用相同的功能,但每次都需要傳遞一個唯一的參數。這甚至可能與我有的設置?謝謝。

回答

1

您可以在函數調用中傳遞複選框的ID - 這是唯一的。你給所有的按鈕使用相同的ID,因爲會有> 1,你應該使用一個類名,例如

$("INPUT[id^='DefaultContent_checkLstWebObjects_").each(function() { 
    $(this).after('<input type="button" id="BlueButton" value=">" data-id="'+$(this).attr("id")+'" class="peek"/>'); 
}); 
$(".peek").on("click",function(){ 
    Selectall($(this).data(id)); 
}); 
0

您可以通過this作爲參數的函數調用,這個受贈您發送的DOM節點複選框對象,所以你可以自由地處理數據,屬性,CSS(你想要的)更抽象。這樣你可以處理你想要的任何參數。想是這樣的:

$("INPUT[id^='DefaultContent_checkLstWebObjects_").each(function() { 
 
    
 
    // Passing this through the function call 
 
    $(this).after('<input type="button" id="BlueButton" value=">" class="peek" onclick="Selectall(this)"/>'); 
 
}); 
 

 
// Your function 
 
function Selectall(checkbox_obj){ 
 
    
 
    // Handling attributes data, ID in this example 
 
    var checkbox_id = $(checkbox_obj).attr('id'); 
 
    
 
    // ----------------------------------- 
 
    // Your business rules here... 
 
    // ----------------------------------- 
 
}

+0

正如你所知道的,我所有的IDS都是一樣的。他們都是「BlueButton」。那麼,我能通過的那個可能是獨一無二的? – Monzingo

+0

這很奇怪,因爲當您從主ID獲得值時,它在後端是相同的,在運行時,ID是累積的,如_1和_2 – RPichioli

相關問題