gpt4 book ai didi

javascript - AJAX PHP 函数 onchange 选择框

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

我有一个问题,我很困惑。我有一个使用 mysqli 查询动态生成 s 的选择框:

$result = mysqli_query($db, "SELECT * FROM `users` WHERE `user_id` > 0");
echo '<html><form name="contacts" method="post"><select name="contacts"><option value="Contact list" onchange="func()">Contact List</option>';
while($row = $result->fetch_assoc()){
echo '<option value = '.$row['user_name'].'>'.$row['user_name'] . '</option>';
}
echo '</select></form>';

我对 AJAX 完全陌生,但我需要使用 jquery 和 ajax 将 this.value 变量传递给 php 变量,以便在以后的查询中使用。

这是我的脚本(大部分是在网上找到的):

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
$("#contacts").change(function() {
//get the selected value
var selectedValue = this.value;

//make the ajax call
$.ajax({
url: 'function.php',
type: 'POST',
data: {option : selectedValue},
success: function() {
console.log("Data sent!");
}
});
});
</script>

现在,当我单击选择框中的值时,没有任何反应。没有警告或错误等。

请帮助我。

附: function.php 确实存在。目前这只是一个简单的回显(用于测试目的)

更新:这里是 FUNCION.PHP:

<?php
/*$val = $_REQUEST['selectedValue'];
echo $val;*/

function function(){
$val = $_REQUEST['selectedValue'];
echo $val;
}
?>

更新:感谢大家的帮助。我现在已经让它工作了,chrome 检查的网络部分显示了正在请求的 function.php,但是我仍然没有得到 echo (我使用外部 .js 文件来让它工作)。我的J查询函数也成功了(成功函数回显到控制台)

最佳答案

您的选择框没有 ID,并且您正在观看 $("#contacts")change 事件。

更改:

echo '<html><form name="contacts" method="post"><select name="contacts"><option value="Contact list" onchange="func()">Contact List</option>';

至:

echo '<html><form name="contacts" method="post"><select name="contacts" id="contacts"><option value="Contact list">Contact List</option>';
^^^^^^^^^^^^^ here

您也只需要一个事件处理程序,因此我删除了内联事件处理程序,它似乎没有执行任何操作。

编辑:如果选择也是使用ajax创建的,则需要事件委托(delegate):

$("body").on('change', '#contacts', function() {
^^^^ for example

编辑 2: 您的变量名为 $_REQUEST['option'],而不是 $_REQUEST['selectedValue']。您也没有调用您的错误命名的函数,因此您不会从 php 获得任何输出,除非出现类似 Parse error: Syntax error, Unexpected 'function' ... 的错误。

关于javascript - AJAX PHP 函数 onchange 选择框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22384647/

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