gpt4 book ai didi

php - Javascript switch 不接受传递的变量

转载 作者:行者123 更新时间:2023-11-28 21:24:54 25 4
gpt4 key购买 nike

我有 2 个下拉菜单,在第一个下拉菜单中选择了某些内容后,我使用开关填充第二个下拉菜单。这主要只是一个实验,因为我之前做的 jquery 看起来真的很慢。如果有人有更好、更快的方法来做到这一点,我洗耳恭听。但我仍然想要这个问题的答案,因为它现在让我很恼火。

第一个下拉菜单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) 它会遇到 case 20 并将选项添加到第二个下拉列表中,就像它应该的那样。

那么为什么开关不评估我放入的变量呢?

最佳答案

facility.value 是字符串吗?尝试一下

var testid = parseInt(facility.value, 10);

关于php - Javascript switch 不接受传递的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com