使用复选框PHP和Javascript重置下拉菜单

时间:2017-08-22 06:48:15

标签: javascript php

我有一个名为cek2()的函数。该功能的工作方式如下,如果未选中复选框,则会重置下拉菜单。 这是我的代码。

这是我的PHP代码。

<?php
    while ($r = mysql_fetch_array($sql)) {
        echo "<tbody><td>Apakah <b>$r[nama_kriteria]</b> mobil sangat penting bagi anda?</td><td>"
        . "<select disabled id='bobot' name='bobot[]' class='bobot'>"
        . "<option id='kosong' value=0  hidden selected> Pilih Bobot</option>"
        . "<option value=1> Sangat Tidak Penting </option>"
        . "<option value=2> Tidak Penting </option>"
        . "<option value=3> Cukup Penting </option>"
        . "<option value=4> Penting </option>"
        . "<option value=5> Sangat Penting </option>"
        . "</select>"
        . "<td><input type='checkbox' class='kriteria'  id='kriteria' name='kriteria[]' onClick='cek();cek2();'</td>"
        . "</tbody>";
    }
?>

这是我的Javascript代码。

function cek2() {
    var x = document.getElementsByName('kriteria[]');
    var y = document.getElementsByName('bobot[]');
    var y2 = document.getElementById('kosong').selected = "true";
    n = x.length;
    for (var i = 0; i < n; i++) {
        y[i].y2 = !x[i].checked;
    }
}

修改

我只是找到一个简单的解决方案。这是我的代码。

    function cek2() {

        var x = document.getElementsByName('kriteria[]');
        var y = document.getElementsByName('bobot[]');
        n = x.length;

        for (var i = 0; i < n; i++) {
            if (!x[i].checked) {
                y[i].selectedIndex = "0";
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

function cek2() {
    var x = document.getElementsByName('kriteria[]'); // will give checkbox
    var y = document.getElementsByName('bobot[]');
    var y2 = document.getElementById('kosong').selected = "true";
    n = x.length; // you have only one checkbox with name 'kriteria[]' hence length is 1 , valueof n ==1
    for (var i = 0; i < n; i++) { // for (var i=0 ; i< 1 ; i++)
        y[i].y2 = !x[i].checked; // Hence loop will run only once
    }
}