2017-08-22 2 views
-2

私はcek2()という機能を持っています。この機能はこのように機能します。チェックボックスをオフにすると、ドロップダウンメニューがリセットされます。 ここに私のコードです。チェックボックスを使用してドロップダウンメニューをリセットするPHPとJavascript

これは私の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; 
    } 
} 

EDIT。ここに私のコードです。

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

(https://stackoverflow.com/help/mcve)[*、最小限の完全かつ検証可能な例を作成する方法*]を参照してください。関連するHTMLを表示する必要があります。 – RobG

+0

無効なHTMLを生成するように見える投稿コードは、実際のHTMLに代わるものではありません。 – RobG

+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 
    } 
} 
+0

ありがとう私はちょうど解決策を見つける。私の編集を参照してください。 –

関連する問題