0

我有一个使用 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 里面的东西吗?

4

1 回答 1

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>

阿贾克斯部分

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;
}
于 2013-04-04T12:53:56.963 回答