Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да покажете второ падащо меню въз основа на предишна стойност на падащото меню с помощта на Javascript

На първо място, имате дублиран id стойност във вашия HTML. Предполагам, че div не трябва да има bir но biro като id стойност на атрибута.

След това можете да добавите data-dept към option елементи, които добавяте динамично към второто падащо меню и му давате стойността на deptId :

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

След това в скрипта прочетете тази стойност с dataset.dept (уверете се, че сте коригирали id на div атрибут в HTML).

Ето фрагмент (без 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. PHP MySQL Delete функция в while цикъл

  2. Копирайте mysql база данни от отдалечен сървър на локален компютър

  3. Как да преименувате качения файл, преди да го запишете в директория?

  4. Грешка при свързване към база данни:(използвайки клас org.gjt.mm.mysql.Driver) Изявлението (1) няма отворен курсор

  5. Cx-Freeze :Showwarning AttributeError:Обектът 'NoneType' няма атрибут 'write'