循环通过复选框列表并保存值,无法正常工作

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]')

【讨论】:

以上是关于循环通过复选框列表并保存值,无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章