如何从具有相同名称的元素组中获取选定的值?

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

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

这是我的 HTML 代码:

<td>
 <label>
   <span><input type="radio" name="directed" value="1" id="directed_yes"></span>
   <span>Yes</span>
 </label><br>
 <label>
   <span><input type="radio" name="directed" value="0" id="directed_no"></span>
   <span>No</span>
 </label>
</td>

这是我尝试使用的JQuery:

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

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

您可以只使用 :checked 选择器和 val():像这样:

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

$('button').click(function() {
    var directed = $('input[name=directed]:checked').val();
    alert(directed);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label>
    <span><input type="radio" name="directed" value="1" id="directed_yes"></span>
    <span>Yes</span>
</label>
<br>
<label>
    <span><input type="radio" name="directed" value="0" id="directed_no"></span>
    <span>No</span>
</label>

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