在我的视图文件中我有两个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);
}
答案 0 :(得分:1)
您可以使用地图功能。下面的代码将返回一组id。
$("#divId input[type='button']").map(function(index,element) { return element.id; });
答案 1 :(得分:0)
假设您的第二个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'));
});
希望这有帮助。
答案 2 :(得分:0)
teamMember
的范围是本地的.so每当你调用你的函数时,它都会创建一个新的空数组
让它全球化
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();