我有一个页面,它通过使用for循环生成表格。 (语法在我的php文件中运行正常,这只是一个复制粘贴,所以忽略语法错误,因为这就像一个原型)
<form id="formid" name="formName" method="post" action="">
<input type="hidden" name="class" value="someclass">
<input type="hidden" name="section" value="somesection">
<select name="school" id="school">
$lengthArray = count($Array);
for ($k = 0; $k < $lengthArray ; $k++)
{
<option> . urldecode($Array[$k]) . </option>;
}
</select>
</form>
我的Ajax如下:
$("#school").change(function () {
// resetValues();
var data = $("#formid").serialize();
jQuery.ajax({
url: 'unexisting.php',
type: "POST",
dataType: "xml",
data: data,
async: false,
success:function (response)
{
alert("Data Save Successful");
}
});
}
每当我第一次从列表中选择一所学校时(列表中有很多),我可以调用unexisting.php,但是一旦我第一次这样做,下面的下拉列表就不会功能。我可以看到其中的所有学校并选择一个值,但这样做不会调用unexisting.php文件。
我哪里错了?我应该在onSuccess中修复内容吗?
答案 0 :(得分:0)
检查是否有效
<form id="formid" name="formName" method="post" action="">
<input type="hidden" name="class" value="someclass">
<input type="hidden" name="section" value="somesection">
<select name="school" class="school" id="school1">
<?php $lengthArray = count($Array);
for ($k = 0; $k < $lengthArray ; $k++)
{ ?>
<option value="<?php echo urldecode($Array[$k]) ?>">
<?php echo urldecode($Array[$k]) ?>
</option>
<?php
} ?>
</select>
</form>
Ajax部分
var current_changed_id = '';
$(".school").change(function () {
current_changed_id = $(this).attr('id');
var data = $("#formid").serialize();
jQuery.ajax({
url: 'unexisting.php',
type: "POST",
dataType: "xml",
data: data,
async: false,
success: ListOnSuccess
});
function ListOnSuccess(xmlindata)
{
$('#'+current_changed_id).attr("disabled", "disabled");
$('#'+current_changed_id).disabled = true;
}