2014-10-01 51 views
0

在我的視圖文件中,我有兩個div,div1中有一些按鈕,當我點擊div1中的按鈕時,它會轉到div2,並在div2中執行相同的操作,這次它轉到div1。在javascript中獲取數組中的所有按鈕的ID

現在我的問題是,當在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); 
} 

回答

0

這裏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); 
    } 

或者你可以使用本地的.so $.map()功能

var teamMember = $("#add_member").find("button").map(function(){ 
return this.id; 
}).get(); 
0

假設你的第二個div的ID是div2和你的按鈕標記後的input標籤,下面應該創建一個包含所有按鈕的ID的是所需的DIV的數組:

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')); 
}); 

希望這有助於。

1

您可以使用地圖功能。下面的代碼將返回一個ID數組。

$("#divId input[type='button']").map(function(index,element) { return element.id; }); 
相關問題