我在下面有这个函数,它返回我的页面上用逗号分隔的复选框的所有ID。它工作得很好,但问题是,它似乎在每个复选框ID后面放了很多空格。我似乎无法弄明白为什么?
/*Returns selected checkbox ID in string seperated by comma */
function get_selected_chkbox(){
var checked_string = '';
$('#report_table').find("input[type='checkbox']").each(function(){
if(this.checked){
checked_string = checked_string + this.id + ',';
}
});
alert(checked_string);//test1 ,test2 ,
return checked_string;
}
感谢大家的帮助
答案 0 :(得分:2)
您可以像这样重写您的功能
var selected = new Array();
$('#report_table input:checkbox:checked').each(function(){
selected.push($(this).attr("id"));
});
return selected.join(',');
<强> 修改 强>
最好摆脱id中的空格,而不是在javascript中修剪id。
答案 1 :(得分:1)
答案 2 :(得分:1)
我猜这些空格都在html中。
尝试(对@ rahul的回答点头):
return $.makeArray($('#report_table input:checkbox:checked').map(function(){
return $.trim($(this).attr('id'));
})).join(',');
(而且,似乎是对@Tim的答案的点头!)
答案 3 :(得分:1)
请为复选框添加html代码。你可能会写
<input type="checkbox" id="test1 "/>
答案 4 :(得分:0)
或this.id.replace(/^\s+|\s+$/g, '')
可以使用