jQuery 获取 radio 选中后的文字

aaalk00 2015-03-31

 

 示例如下:

<inputtype="radio"id="male"name="sex"value="1"/>男  <inputtype="radio"id="female"name="sex"value="2"/>女

在这里直接给出 jQuery 获取 radio 选中后的文本的方法,如下:

$("input[name='sex']:checked")[0].nextSibling.nodeValue

方法将 jQuery 对象转换为 DOM 对象后,再使用原生的 javascript 方法获取文本。在我回复朋友前,他通过在 radio 后添加 span 标记来解决这个问题:

<inputtype="radio"id="male"name="sex"value="1"/><span>男</span>

接来下获取时使用 next() 选择器,如下:

$("input[name='sex']:checked").next("span").text()

问题看似到这里就结束了,其实不然,这并不是好的用户体验。好的做法应该为 radio 添加 for 标记,这样在点击 radio 文本"男"或"女"的时候也能选中 radio,这比让用户点击一个小圆圈容易多了。所以最好的 HTML 标记应该如下:

<inputtype="radio"id="male"name="sex"value="1"/><labelfor="male">男</label><inputtype="radio"id="female"name="sex"value="2"/><labelfor="female">女</label>

最后获取 radio 选中后的文本我相信你已经会了,如下:

$("input[name='sex']:checked").next("label").text()

这样使用 jQuery 成功获取了 radio 选中后的文本,这里主要是指最后一个方法。本篇内容虽然简单,但着重说明了一个道理——细节决定成败!

相关推荐