Javascript复选框验证

时间:2015-01-28 07:20:03

标签: javascript validation

我是JS的新手。如何验证复选框,单选按钮。我创建了选择最佳答案的问题。我用无线电按钮和复选框来寻找答案。任何人都给出了解释。

这是我的代码:

<body> 
<div id="qn1">1. What are JavaScript types?</div> <div id="ans">
<input type="checkbox" id="n1">Number</input><br/> 
<input type="checkbox" id="B1">Boolean</input><br/> 
<input type="checkbox" id="F1">Function</input><br/> 
<input type="checkbox" id="u1">Undefined</input><br/> 
<input type="checkbox" id="a1">All the above</input><br/><br/> 
<button onclick="toCheck()">Check</button> 
<button onclick="toShow()">Show Answer</button> 
</div> 
</body>

由于

2 个答案:

答案 0 :(得分:0)

要做到这一点,您必须先对HTML进行一些更改:

  • classvalue属性添加到您的复选框元素。
  • 然后使用以下Javascript函数从中获取选中的值 你的答案:

&#13;
&#13;
function toShow(){
    var checkedValues=[];
    var answers=document.getElementsByClassName("answers");
    for(var i=0;i<answers.length;i++){
        if(answers[i].checked){
            checkedValues.push(answers[i].value);
         }
    }  
    alert(checkedValues);
 }
&#13;
<div id="qn1">1. What are JavaScript types?</div> 
<div id="ans">
     <input type="checkbox" class="answers" id="n1" value="Number">Number</input><br/> 
     <input type="checkbox" class="answers" id="B1" value="Boolean">Boolean</input><br/> 
     <input type="checkbox" class="answers" id="F1" value="Function">Function</input><br/> 
     <input type="checkbox" class="answers" id="u1" value="Undefined">Undefined</input><br/> 
     <input type="checkbox" class="answers" id="a1" value="All the above">All the above</input><br/><br/> 
     <button onclick="toCheck()">Check</button> 
     <button onclick="toShow()">Show Answer</button> 
</div> 

   
&#13;
&#13;
&#13;

修改

如果你想一次只选择一个答案,这里使用jQuery灵感来自this answer的函数应该这样做:

$("input:checkbox").on('click', function() {
var $box = $(this);
if ($box.is(":checked")) {
  var group = "input:checkbox[class='" + $box.attr("class") + "']";
  $(group).prop("checked", false);
  $box.prop("checked", true);
} else {
  $box.prop("checked", false);
}
alert($box.val());
});

尝试this DEMO

答案 1 :(得分:-1)

如果你知道jQuery

,你可以使用它
$("input[name='NAME_OF_CHECKBOX']:checked")each(HERE GOES THE FURTHER CODE);