javascript - 将 onchange 与下拉列表选择框结合使用

标签 javascript php onchange

我在处理 onchange 事件时遇到了一些问题。该任务是用于对数据进行排序的一大段代码,但为了尝试隔离代码,我将其跟踪到实际上不起作用的 onchange 事件,并且我看不出出了什么问题。

<?php   include("db_connect.php"); 

$query = 'SELECT * FROM db_class_catagories';
$result = mysqli_query($dbconnection,$query);
?>


<select id="primary_catagory" name="primary_catagory" onchange = "test_function(this)"style="position:absolute;left:10px;top:10px;width:315px;height:20px;z-index:11;text-align:left;">
<option value=''>Select</option>
<?php while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)){
    echo "<option value='" . $row['primary_catagory'] . "'>" . $row['primary_catagory'] . "       
</option>";}
?>
</select>

<?php
function test_function($primary_catagory)   {
echo $primary_catagory;
}
?>

此列表是从数据库生成的,并且调用得很好,但无论我选择什么,都不会发生。主脚本使用了 AJAX,但同样没有发生任何事情,我所能想到的就是 onchange 没有发送数据。

我正在使用这个例子,但无法让它工作。 How can i populate a dropdown list by selecting the value from another dropdown list

我的任务或多或少是相同的,但我的 onchange 有点不对劲,知道我错过了什么愚蠢的东西吗?谢谢

最佳答案

onchange 事件是浏览器事件,因此 test_function() 必须是 JavaScript 函数。它可以使用 Ajax 将有关选择的信息发送到服务器端 PHP 监听器,但 onchange 事件必须在客户端处理。

这里有一个简单的示例:Why am I not getting the value from onChange with Select? 只需将您的 Ajax 调用放在警报所在的位置(在答案中,而不是问题中。)

关于javascript - 将 onchange 与下拉列表选择框结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26690068/

相关文章:

jquery - 输入新号码时输入类型号码的更改事件

javascript - 如何将 Ember Data 序列化器与 JQuery AJAX 请求结合使用?

javascript - 在 MongoDB 中查找所有具有相关 objectId 名称的内容

PHP/MySQL 多维数组

javascript - 如何使用 onchange="function(this.value)

javascript - 检查 "change"事件是否来自键盘

javascript - 无法解决这个阶乘问题,在 for 循环中出现错误

javascript - 使用 Node、express 和 vanilla JS 进行 POST Ajax 调用

javascript - 在 iframe 中加载 url 并添加类

php - 将带有属性的二维数组传输到另一个页面