猿问

在jQuery中,如何通过其name属性选择元素?

我的网页中有3个单选按钮,如下所示:


<label for="theme-grey">

  <input type="radio" id="theme-grey" name="theme" value="grey" />Grey</label>

<label for="theme-pink">

  <input type="radio" id="theme-pink" name="theme" value="pink" />Pink</label>

<label for="theme-green">

  <input type="radio" id="theme-green" name="theme" value="green" />Green</label>

在jQuery中,我想在单击这三个按钮中的任何一个时获取所选单选按钮的值。在jQuery中,我们具有id(#)和class(。)选择器,但是如果我想按名称查找单选按钮,该怎么办呢?


$("<radiobutton name attribute>").click(function(){});

请告诉我如何解决这个问题。


潇湘沐
浏览 893回答 3
3回答

茅侃侃

应该做到这一点,所有这些都在文档中,该文档具有与此类似的示例:$("input[type='radio'][name='theme']").click(function() {&nbsp; &nbsp; var value = $(this).val();});我还应该注意,您在该代码段中有多个相同的ID。这是无效的HTML。使用类将元素集而不是ID分组,因为它们应该是唯一的。

慕桂英3389331

要确定选中了哪个单选按钮,请尝试以下操作:$('input:radio[name=theme]').click(function() {&nbsp; var val = $('input:radio[name=theme]:checked').val();});将捕获该组中所有单选按钮的事件,并且所选按钮的值将放置在val中。更新:发布后,我认为上述Paolo的答案更好,因为它使用的DOM遍历更少。我让这个答案站起来,因为它显示了如何以跨浏览器兼容的方式获取所选元素。

烙印99

这对我来说很棒。例如,您有两个具有相同“名称”的单选按钮,而您只想获取选中的按钮的值。您可以尝试这个。$valueOfTheCheckedRadio = $('[name=radioName]:checked').val();
随时随地看视频慕课网APP
我要回答