ㄓㄤㄑㄧㄤ

纠正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;
}

 

posted @ 2015-04-15 10:01  ㄓㄤㄑㄧㄤ  阅读(324)  评论(0编辑  收藏  举报
哈哈,页脚部分。