У меня есть 2 выпадающих списка, и я использую переключатель, чтобы заполнить второе после того, как что-то было выбрано в первом.В основном это всего лишь эксперимент, потому что то, что я делал раньше, казалось очень медленным.Если у кого-то есть более быстрый и быстрый способ сделать это, я весь в ушах.Но я все еще хочу получить ответ на этот вопрос, потому что это меня сейчас просто раздражает.
Первые выпадающие списки onchange="chngprog(this)"
вызывают эту функцию
function chngprog(facility)
{
if(facility.id == 'facilityview'){
var select = document.getElementById('programview');
} else {
var select = document.getElementById('program');
}
var testid = facility.value;
switch(testid){
<?php global $__CMS_CONN__;
$sqlqry = "SELECT * FROM facility_db";
$stmt = $__CMS_CONN__->prepare($sqlqry);
$stmt->execute();
$listfacility = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($listfacility as $case)
{
echo "case ".$case['id'].":\n";
echo "select.options = '';";
$boom = explode(";", $case['programs']);
foreach($boom as $program)
{
echo "select.options[select.options.length] = new Option('$program', '$program');\n";
}
echo "break;\n";
}
?>
}
}
php создает все случаи из базы данных,так как есть 50+, вероятно, не помогает коэффициент скорости.
Оператор if вверху должен определить, на какой набор выпадающих списков он смотрит, поскольку есть 2 набора, которые делают то же самое, но дляразные цели.
Проблема в том, чтобы переключиться в дело.Я поставил оповещения, чтобы увидеть, что происходит, и все значения верны, но он никогда не попадает в регистр, если не указан номер.Если я поставлю switch(20)
, он попадет в случай 20 и добавит параметры ко второму раскрывающемуся списку, как и должно быть.
Так почему же коммутатор не оценивает переменную, которую я вставил?