JQUERY加载不正确或者我的代码是错误的吗?

时间:2013-12-22 12:00:36

标签: javascript php jquery html ajax

我正在尝试使用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()。任何帮助都很有用。

3 个答案:

答案 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中已被更改