[英]Get the all button's id in an array in javascript
在我的視圖文件中,我有兩個div,在div1中有一些按鈕,當我單擊div1中的按鈕時,它會轉到div2,而在div2中它會執行相同的操作,這次將其轉到div1中。
現在我的問題是,當div2中有多個按鈕時,如何將所有按鈕的ID放入數組中。 我想在另一個模型的隱藏字段中傳遞此數組。
我以下面的方式嘗試了,但是它不起作用。這是我的腳本代碼。
function movebutton(elem){
var teamMember=[];
if( $(elem).parent().attr("id") == "officers_list" ){
$(elem).detach().appendTo('#add_member');
teamMember.push($(elem).attr("id"));
}
else{
$(elem).detach().appendTo('#officers_list');
teamMember.pop($(elem).attr("id"));
}
$("#TeamTeamMember").val(teamMember);
//console.debug('teamMember=>',teamMember);
}
您可以使用地圖功能。 下面的代碼將返回一個ID數組。
$("#divId input[type='button']").map(function(index,element) { return element.id; });
假設您的第二個div的ID為div2
並且您的按鈕已用input
標簽標記,則以下代碼應創建一個數組,其中包含所需div中所有按鈕的ID:
var btns = [];
$('#div2 input[type="button"]').each(function() {//if you are using the <button> markup just use $('div2 button').each(..)
btns.push($(this).attr('id'));
});
希望這可以幫助。
這里teamMember
作用域是本地的。因此,每當調用函數時,它將創建一個新的空數組,使其成為全局數組。
var teamMember=[];
function movebutton(elem){
if( $(elem).parent().attr("id") == "officers_list" ){
$(elem).detach().appendTo('#add_member');
teamMember.push($(elem).attr("id"));
}
else{
$(elem).detach().appendTo('#officers_list');
teamMember.pop($(elem).attr("id"));
}
$("#TeamTeamMember").val(teamMember);
//console.debug('teamMember=>',teamMember);
}
或者您可以使用$.map()
函數
var teamMember = $("#add_member").find("button").map(function(){
return this.id;
}).get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.