现在我有个问题,就是当我不勾选某一个的时候,那个的value值相对应的隐藏域的那个value值移除掉,然后我勾选了又把相对应的值给添加上,请问怎么实现?
<!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>
用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>
您好,可能你理解错我的意思了,我的意思是 我不勾选任意一个input 让隐藏域(注意是隐藏域不是本身的value删除)对应那个input的值从头隐藏域的value里面删掉 ,如果我勾选了任意一个,让隐藏域对应的input的值添加到那个隐藏域value里面去
首先,要实现你的这种做法,并不需要隐藏域。
然后,给一个大概的思路:
每一次checkbox的change事件,都去查找所有$(':checked')的checkbox,然后将val()累加,赋值给隐藏域元素的value属性。
e嗯嗯,不错受教了