循环通过复选框列表并保存值,无法正常工作
Posted
技术标签:
【中文标题】循环通过复选框列表并保存值,无法正常工作【英文标题】:looping thru a list of checkboxes and saving the values, not working properly 【发布时间】:2011-02-19 21:04:24 【问题描述】:这段代码有点问题。
该程序给了我一个复选框列表,但一个用户 ID。然后你的用户可以改变他的选择并按下保存按钮(id="btnSaveUserIntersts"),我试图在隐藏的文本框中保存所有被选中的复选框的值。
问题是我总是得到来自数据库的相同选择,而没有得到用户所做的新选择。
谁能告诉我我在这里做错了什么?
$(document).ready(
function()
$('#btnSaveUserIntersts').bind(
'click',
function()
var strCheckBoxChecked = new String();
$('input[type=checkbox][checked]').each(
function()
strCheckBoxChecked += $(this).val();
strCheckBoxChecked += ',';
);
$('#hidUserInterests').val(strCheckBoxChecked);
);
);
10 倍
【问题讨论】:
【参考方案1】:尝试使用:
$('input:checkbox:checked').each(
function()
strCheckBoxChecked += $(this).val();
strCheckBoxChecked += ',';
);
作为选择器而不是您当前使用的选择器。
【讨论】:
【参考方案2】:$('input[type="checkbox"]:checked')
【讨论】:
【参考方案3】:使用.map
,更漂亮:
var strCheckBoxChecked = $('input:checkbox:checked').map(function()
return this.value;
).get().join(",");
而你使用的选择器是close,$('input[type=checkbox][checked=checked]')
【讨论】:
以上是关于循环通过复选框列表并保存值,无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章
CheckBox for all 和 for single 无法正常工作