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

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 无法正常工作

复选框在颤动中丢失了检查值

带有复选框和自定义适配器的 ListView,片段无法正常工作

无法从复选框中获取值

无法在 ReactJS 中重用复选框功能

Angular custom-control-input 在循环内的 formControlName 中无法正常工作