-2

我得到了这个代码

    <?php foreach($this->question as $question): ?>
<div class="question">
    <?php echo $question['question'] ?>          </div>


<?php if($this->activeEdition["id"]!=20) { ?>

<div class="answers">
    <?php
    $i = 1;
    foreach($question['answers'] as $answer):
    ?>
    <input type="radio" name="question[<?php echo $question['id'] ?>]" value="<?php echo $answer['id'] ?>" id="<?php echo
           $answer['id']
    ?>" class="radio_answer radio_answer_<?php echo $i; ?>" >
    <label for="<?php echo $answer['id'] ?>"><?php echo $answer['answer'] ?></label>
    <?php
    if(count($question['answers']) > 3){
    echo '<br/>';
    }
    ?>
<?php
$i++;
endforeach;
?>
</div>

如果在每个问题中都选中一个单选按钮,如何在 javascript 中以简单和最简单的方式检查?

4

2 回答 2

0

好的,我使用 jQuery 做了更好的解决方案

<script type="text/javascript">
function checkform()
{
    var ilosc = document.getElementsByClassName('question');
    var n = $("input:checked").length;
    if (n != ilosc.length)
    {
    alert('Proszę zaznaczyć wszyskie odpowiedzi');

    return false;
    }else return true;

}
</script>
于 2012-08-30T13:43:41.673 回答
0

如果需要所有答案,那么您应该在生成它时将第一个单选设置为在每个答案中选择。这是最简单的方法。

当然你可以用JS检查一下,但是会很丑。这是一个演示代码:

<script>
    function check(){
        var inputs = document.getElementsByTagName('input');
        var names = [];
        var checked = 0;

        for(var i=0;i<inputs.length;i++){
            if(inputs[i].type=='radio'){
                inArray = false;
                for(var j=0;j<names.length;j++){
                    if(names[j]==inputs[i].name){
                        inArray = true;
                        break;
                    }
                }
                if(!inArray){
                    names.push(inputs[i].name);
                }
                if(inputs[i].checked){
                    checked++;
                }
            }
        }

        return names.length==checked;
    }
</script>
<input type="radio" name="a">
<input type="radio" name="a"><br/>
<input type="radio" name="b">
<input type="radio" name="b"><br/>
<input type="radio" name="b">
<input type="radio" name="c">
<input type="radio" name="c"><br/>
<input type="radio" name="d">
<input type="radio" name="d">
<input type="radio" name="d">
<input type="button" onClick="alert(check());">

如果你知道问题的数量,你可以简化它,也许有更好的解决方案来检查 in_array。

使用 jQuery 更好。

于 2012-08-30T10:44:27.203 回答