javascript - 当 <option> 来自使用 php mysqli_query 的 sql 时,onchange 不会触发

标签 javascript php html mysql

我想放置一个下拉框,其中包含数据库中的国家/地区。 第二个下拉框应填充第一个下拉框的状态。 (我已经在“添加位置功能”上使用硬编码 HTML 完成了此操作,但现在这是搜索功能。)

<select name="COUNTRY" onchange="GetState();" class="VASELECT" style="WIDTH: 200PX;">

<?php 
$sql = mysqli_query($conn, 'SELECT DISTINCT country FROM t1 where country != ""');
while ($row = $sql->fetch_assoc()){

echo "<option value=\">". $row['country']."\">" . $row['country'] . "</option>";
}
?>
</select>

<select name="STATE" onchange="GetCity();" class="VASELECT">
<option value=""></option>
<option value="" selected="selected"></option></select>

它执行查询没有任何问题。第一个下拉框显示数据库中的国家/地区,但它无法检测到 onchange 函数,第二个下拉框没有任何内容可显示。 GetState() 应该可以工作。我不知道为什么。 JavaScript 代码很长,所以我只粘贴其中的一部分

<script language="JavaScript" type="text/javascript"> //get state inside

function GetState() {
    document.OPTIONS.CITY.length = 1;
    document.OPTIONS.CITY.options[0].text = "";
    document.OPTIONS.CITY.options[0].value = "";
    document.OPTIONS.STATE.length = 1;
    document.OPTIONS.STATE.options[0].text = "";
    document.OPTIONS.STATE.options[0].value = "";       

    if (document.OPTIONS.COUNTRY.value == "United States") {

        document.OPTIONS.STATE.length = 53;

            document.OPTIONS.STATE.options[1].text = "Alabama";
            document.OPTIONS.STATE.options[1].value = "AL";

            document.OPTIONS.STATE.options[2].text = "Alaska";
            document.OPTIONS.STATE.options[2].value = "AK";

               }

      }
//extends up to 3thousand lines of code (it contains all countries in the world. LOL)
</script>

最佳答案

错误可能出在 HTML 本身中。看一下这一行:

echo "<option value=\">". $row['country']."\">" . $row['country'] . "</option>";

这应该是:

echo "<option value=\"". $row['country']."\">" . $row['country'] . "</option>";

我注意到的另一件事是你没有:

<select name="STATE" onchange="GetCity();" class="VASELECT">

while 循环之上

关于javascript - 当 <option> 来自使用 php mysqli_query 的 sql 时,onchange 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44496660/

相关文章:

javascript - Bootstrap modal ('hide' ) 没有删除所有应用的属性

javascript - 可以动态地、即时地编辑图像吗?

javascript - 子 div 重叠

javascript - Ionic 2 中的导航栏和标题内滑动

php - '(value)' 中的未知列 'field list'

javascript - WordPress Ajax 调用在 Firefox 中不起作用

javascript - 在 IBM Anywhere 中使列表控件只读

php - 谷歌地图过滤器

html - 如何使用带有 flex-wrap 的中心元素而不在非常小的窗口宽度上截断它们?

javascript - 页面加载缓慢