我有一个名为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";
}
}
}
答案 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
}
}