+ -
当前位置:首页 → 问答吧 → jQuery Radio 的取值,Safari 中方法-已解决

jQuery Radio 的取值,Safari 中方法-已解决

时间:2009-06-15

来源:互联网



var item = $('input[@name=items][@checked]').val();

FF3,IE7都已测试通过,而 Safari 4 却不能正常使用,
在 Safari 中,所得值 只是页面 初始指定的 value,
而不能根据所选 radio 来动态 获得 选中值,
例如:
<input type="radio" name="aa" id="aa1" value="1" checked="checked" />
<input type="radio" name="aa" id="aa2" value="0" />

var item = $('input[name="aa"][checked]').val();

此时 item 值一直都会是 "1";

不知 是否 Safari 下有什么可以是同的方法?
多谢!

作者: Rainstorm   发布时间: 2009-06-15

看来只能在 safari 下用笨方法了,
写个方法:
      getCheckValue : function(id)
      {
            var rPort = document.getElementsByName(id);

            for(i=0; i<rPort.length; i++)
            {
               if(rPort[i].checked) {
                    return rPort[i].value;
                 }
            }
      }

虽然实现了,不过仍觉得效率不如
var item = $('input[name="aa"][checked]').val();
来得好,
若有高人了解更简便的方法,请不吝赐教,多谢!

作者: Rainstorm   发布时间: 2009-06-15

找到更好方法,与大家分享
原 var item = $('input[name="aa"][checked]').val();
写法,选择器不够标准,以致safari4 不能正常工作。

官方推荐以下格式:
var item = $('input:checked[name="aa"]').val();
经测试,ff3,ie7,safari4 均通过。

作者: Rainstorm   发布时间: 2009-06-15

作者: 亲情树   发布时间: 2010-09-07

相关阅读 更多