Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara menampilkan dropdown kedua berdasarkan nilai dropdown sebelumnya menggunakan Javascript

Pertama-tama, Anda memiliki duplikat id nilai dalam HTML Anda. Saya menganggap div seharusnya tidak memiliki bir tapi biro sebagai id nilai atribut.

Anda kemudian dapat menambahkan data-dept ke option elemen yang Anda tambahkan secara dinamis ke tarik-turun kedua, dan berikan nilai deptId :

foreach ($birs as $rl)
{
    ?>
    <option value="<?php echo $rl->birId ?>"
            data-dept="<?php echo $rl->deptId ?>" >
        <?php echo $rl->birName ?></option>
    <?php
}

Kemudian di script, bacakan nilai tersebut dengan dataset.dept (pastikan Anda telah memperbaiki id div's atribut dalam HTML).

Ini cuplikannya (tanpa PHP):

function checkvalue(val) { 
    if (+val) { 
        for (var option of bir.options) {
            if (option.dataset.dept) { // don't touch first entry
                option.style.display = option.dataset.dept == val ? '' : 'none';
            }
        }
    }
    bir.value = 0; // reset selection
    biro.style.display = +val ? '' : 'none'; // show/hide 
}

function checkvalues(val) {}
<div class="col-md-6">
    <div class="form-group">
        <label for="Dept">Dept</label>
        <select class="form-control required" id="Dept" name="Dept" onchange='checkvalue(this.value)'>
            <option value="0">Dept</option>
            <option value="2">2</option>
            <option value="5">5</option>
        </select>
    </div>
</div>  
<div class="col-md-6" >
    <div class="form-group" id="biro" style='display:none'>
        <label for="bir">Bir</label>
        <select class="form-control required" id="bir" name="bir" onchange='checkvalues(this.value)'>
            <option value="0">Pilih Bir</option>
            <option value="9" data-dept="2">bir for 2</option>
            <option value="10" data-dept="5">bir for 5</option>
            <option value="8" data-dept="2">another bir for 2</option>
            <option value="15" data-dept="5">another bir for 5</option>
        </select>
    </div>
</div>  



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. validasi dan data ditambahkan ke tabel db

  2. python mysqldb melarikan diri? atau %s?

  3. Bagaimana Anda menetapkan nilai default untuk kolom MySQL Datetime?

  4. mySQL mengembalikan indeks setelah dimasukkan

  5. Bagaimana cara mengubah tipe VARCHAR menjadi DATETIME menggunakan ALTER di MySQL?