使用jQuery检查验证单选按钮

Wil*_*ill 5 forms validation jquery radio-button

在我的表格上,我有一组单选按钮.这是标记:

<div class="optionHolder">
    <p class="optionName">Format</p>
    <div class="option checked">
        <input type="radio" name="fileType" value="avi" />
        <img src="images/avi.png" alt="" />
        <label>AVI</label>
    </div>
    <div class="option">
        <input type="radio" name="fileType" value="mov" />
        <img src="images/mov.png" alt="" />
        <label>MOV</label>
    </div>
    <div class="option">
        <input type="radio" name="fileType" value="mp4" />
        <img src="images/mp4.png" alt="" />
        <label>MP4</label>
    </div>
    <div class="option">
        <input type="radio" name="fileType" value="mp3" />
        <img src="images/mp3.png" alt="" />
        <label>MP3</label>
        </div>
</div>
Run Code Online (Sandbox Code Playgroud)

提交表单时,我想检查其中一个是否已被选中.最好的方法是什么?我正在考虑循环遍历它们并设置一个标志来设置是否检查其中一个,然后在循环后检查标志,如果它是false则抛出错误.

欢迎任何帮助,欢呼.

Sar*_*raz 21

你可以使用length相等的属性选择器:checked过滤器选择器,如下所示:

if ($("input[name='fileType']:checked").length > 0){
  // one ore more checkboxes are checked
}
else{
 // no checkboxes are checked
}
Run Code Online (Sandbox Code Playgroud)


Pra*_*sad 5

演示

http://jsfiddle.net/Vq2jB/2/

var isChecked = jQuery("input[name=fileType]:checked").val();
Run Code Online (Sandbox Code Playgroud)


And*_*ose 0

您可以检查选中的单选按钮名称是否返回 jQuery 中的值:

if($("input[@name='fileType']:checked").val() != null){
    // button checked
}
Run Code Online (Sandbox Code Playgroud)