纠正jQuery获取radio选中值的写法
先看一段代码
<input type="radio" name="aaa" value="1" checked="true">aaa <input type="radio" name="aaa" value="2">bbb <input type="radio" name="aaa" value="3">ccc <input type="button" value="ok" onclick="doTest()"> <script language="JavaScript"> <!-- function doTest(){ alert($("input[name='aaa'][checked]").val()); } //--> </script>
网上流行的说法就是
$(input[name='aaa'][checked]).val()
能取到选中项的value,但我测试后发现只在IE下有效,在firefox和Chrome中不论选中哪一项,或者不选,取到的值都是第一项的value
正确做法应该是
$("input[name='aaa']:checked").val()
同样对于checkbox也是这种写法
以上出自 “厚土常丰” 博客,请务必保留此出处http://xwebos.blog.51cto.com/3398850/642888
下文为楼主自己测试出来的方法:
function getAll() { var str = ""; $("[name='chk'][checked]").each(function() { str += $(this).val() + ","; }) pagerForm.chkFlag.value = str; }