带有Jquery映射函数的复选框

Checkbox with Jquery map function?

本文关键字:复选框 映射函数 Jquery 带有      更新时间:2023-09-26

我有以下代码,

...
<input type="hidden" name="unchecked"  id="unchecked" value="" />
<?php
    $ind = 1;
    foreach($array as $v){
?>
<input class="checkbox checked" id="checked_<?php echo $ind; ?>" type="checkbox" value="<?php echo $value['id']; ?>"/>
<?php
    $ind++;
    }
?>
...

我想将复选框值存储为逗号分隔的隐藏框。所以我尝试了下面的jquery,

<script type="text/javascript">
    $(function(){    
        $("input.checked").click(function(){  
            //alert($(this).val());
            $("input#unchecked").val($.map($("input[id^='checked_']"), function( item ) {
                return $(item).val();
            }).join(",")); 
        });
    });  
</script>

当我单击复选框中的任何一个时,上面的脚本会存储复选框的所有值。我在这件事上做错了什么。建议

更改

$("input[id^='checked_']")

$("input[id^='checked_']:checked")

或者使用以下方法:

选择选中的:$("input[id^='checked_']").is(':checked')

选择未选中的:$("input[id^='checked_']").not(':checked')