首页 新闻 会员 周边

关于一个checkbox的一个问题

0
悬赏园豆:10 [已解决问题] 解决于 2016-04-20 10:52

现在我有个问题,就是当我不勾选某一个的时候,那个的value值相对应的隐藏域的那个value值移除掉,然后我勾选了又把相对应的值给添加上,请问怎么实现?

__Construct的主页 __Construct | 初学一级 | 园豆:57
提问于:2016-04-19 20:50
< >
分享
最佳答案
0
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
        
        $("#li input[type='checkbox']").each(function(index){
            $(this).click(function(){
                
                var selectedValues=[];
                
                $("#li input[type='checkbox']").each(function(i){
                     if($(this).is(":checked"))
                     {
                        selectedValues.push($(this).val());
                     }
                });
               
                $("input[name='diya']").val(selectedValues.join(","));
                   
            })
        })
    })
</script>
</head>
<body>
<li id="li">
    <input name="diya" type="text"/>
    <label><input class="chk" type="checkbox" value="1" checked>汽车</label>
    <label><input  class="chk"  type="checkbox" value="2" checked>房子</label>
    <label><input  class="chk"  type="checkbox" value="3" checked>厂房</label>
</li>


</body>
</html>

 

收获园豆:10
Yu | 专家六级 |园豆:12980 | 2016-04-20 08:55
其他回答(2)
0

用js

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
        $("#li .chk").each(function(index){
            $(this).click(function(){
                //alert($(this).is(":checked"));
                if(!$(this).is(":checked")){//判断是否勾选
                    //$(this).removeAttr("value");
                    $(this).val(" ");
                }else{
                    $(this).val(index)
                }
            })
        })
    })
</script>
</head>
<body>
<li id="li">
    <input name='diya' type="hidden"/>
    <label><input class="chk" type="checkbox" value="1" checked>汽车</label>
    <label><input  class="chk"  type="checkbox" value="1" checked>房子</label>
    <label><input  class="chk"  type="checkbox" value="1" checked>厂房</label>
</li>


</body>
</html>

 

天下520 | 园豆:209 (菜鸟二级) | 2016-04-19 22:51

您好,可能你理解错我的意思了,我的意思是 我不勾选任意一个input  让隐藏域(注意是隐藏域不是本身的value删除)对应那个input的值从头隐藏域的value里面删掉 ,如果我勾选了任意一个,让隐藏域对应的input的值添加到那个隐藏域value里面去

支持(0) 反对(0) __Construct | 园豆:57 (初学一级) | 2016-04-19 23:01
0

首先,要实现你的这种做法,并不需要隐藏域。

然后,给一个大概的思路:

每一次checkbox的change事件,都去查找所有$(':checked')的checkbox,然后将val()累加,赋值给隐藏域元素的value属性。

 

幻天芒 | 园豆:37175 (高人七级) | 2016-04-20 08:44

e嗯嗯,不错受教了

支持(0) 反对(0) __Construct | 园豆:57 (初学一级) | 2016-04-20 10:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册