我正在尝试使用JQUERY方法为ajax创建一个下拉菜单。 使用这个jquery代码:
JAVASCRIPT:
<SCRIPT>
$("select[name='carid']").on("change", function() {
$.post(
"execute.php",
{ carid: $("#carid").val() },
function(data) {
$("available").append(data);
}
);
});
</SCRIPT>
execute.php:
<?php
$carid = $_POST['carid'];
$result = mysql_query("SELECT mID, mName FROM Model WHERE cID = '$carid' ");
$select = "<select>";
while ($row = mysql_fetch_array($result))
{
$mID = $row['mID'];
$mName = $row['mName'];
$select+= "<option value='".$mID."'>" .$mName. "</option>";
}
$select += "</select>"
echo $select;
?>
不幸的是,我在控制台事件中加载时出现此错误。不推荐使用.returnValue。请改用标准的event.preventDefault()。任何帮助都很有用。
答案 0 :(得分:0)
替换此行,然后重试
$select += "</select>";
如果$(“available”)。append(data);在这一行中可用的是class而不是use .available,如果它是id而不是#available
答案 1 :(得分:0)
我想问题就在这里:
$("available").append(data);
这里available
是什么?它不会在data
附加任何地方。
由于您没有向我们展示您的html,因此假设它可能是ID或类设置为available
的元素,因此它应该是$(".available").append(data);
或$("available").append(data);
,具体取决于元素你要追加的。
更新
因为您指定它是<div id="available">
所以请尝试$("#available").append(data);
而不是$("available").append(data);
以下是完整的script
<script>
$("select[name='carid']").on("change", function() {
$.post(
"execute.php",
{ carid: $("#carid").val() },
function(data) {
console.log(data); // just for testing
$("#available").append(data);
}
);
});
</script>
如果这也不起作用,请检查您的控制台并在此处发布输出。
答案 2 :(得分:0)
见这里
event.returnValue is deprecated. Please use the standard event.preventDefault() instead
这只是一个警告,暂时可以安全地忽略。它在jQuery 1.11中已被更改