好吧,现在我有一个有两个选择按钮的页面。一旦设置了它们,我希望页面自动更新。然后,每当选择新选项时,页面将保持自动更新。这是我的HTML:
<form action="" method="POST" id = "multiple">
<select name="op" id="op">
<?php
require('C:\www\php\connect.php');
require('C:\www\php\stuff1.php'); // populates first select bar
?>
</select>
<br>
<select name="op2" id="op2">
<?
php require('C:\www\php\stuff2.php'); //populates second select bar
?>
</select>
</form>
这是我的jQuery BEFORE。现在,有了这个,它将在选择两个项目后自动提交页面:
$(document).ready(function () {
$('#op,#op2').on('change', function () {
if ($('#op').val() && $('#op2').val()) {
$("#multiple").submit();
}
});
});
这是我的(不工作)AJAX响应,我想尝试实现我在开始时提到的内容:
$(document).ready(function (e) {
$('#op,#op2').on('change', function () {
$("#multiple").submit();
var url = "C:\www\php\stuff2.php";
alert("show me signs of life"); // show response
$.ajax({
type: "POST",
url: url,
data: $("#multiple").serialize(),
success: function(data)
{
alert(data); // show me something
}
});
e.preventDefault();
}
});
我到底错在哪里?我很确定我的URL情况有点混乱,因为我使用多个php文件来填充框,但我觉得这没关系。如果它有帮助,魔法发生的文件在stuff2.php中,所以这是我所包含的唯一一个。
答案 0 :(得分:2)
代码:
$("#multiple").submit()
将对当前URL执行HTTP POST请求。如果您正在进行AJAX调用,则不需要它。
只需:
$.ajax({
type: "POST",
url: url,
data: $("#multiple").serialize(),
success: function(data)
{
alert(data); // show me something
}
});
应该可以正常工作。