簡體   English   中英

在javascript中獲取數組中所有按鈕的ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM