关于javascript:如何从具有相同名称的元素组中获取所选值?

How to get just selected value from the group of elements with the same name?

本问题已经有最佳答案,请猛点这里访问。

我有两个名称相同但值不同的单选按钮。在提交表单之前,我必须检查所选ID的值是否正确,否则将向用户发送消息。

这是我的HTML代码:

1
2
3
4
5
6
7
8
9
10
<td>
 <label>
   <span><input type="radio" name="directed" value="1" id="directed_yes"></span>
   <span>Yes</span>
 </label>
 <label>
   <span><input type="radio" name="directed" value="0" id="directed_no"></span>
   <span>No</span>
 </label>
</td>

下面是我尝试使用的jquery:

1
2
3
var directed = $('input[name=directed]').each(function(){
  alert($(this).val())
});

这段代码为同名元素提供了所有值,我只需要选定的值。之后,我必须在提交表单之前检查该值是否有效。如果有人知道如何获得刚刚选定的值,请告诉我。谢谢。


您只需使用:checked选择器和val():如下所示:

1
var directed = $('input[name=directed]:checked').val();

1
2
3
4
$('button').click(function() {
    var directed = $('input[name=directed]:checked').val();
    alert(directed);
})

1
2
3
4
5
6
7
8
9
10
11
12
13
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
<label>
    <span><input type="radio" name="directed" value="1" id="directed_yes"></span>
    <span>Yes</span>
</label>

<label>
    <span><input type="radio" name="directed" value="0" id="directed_no"></span>
    <span>No</span>
</label>

<br /><br />
<button>Get value</button>