我创建了两个动态填充的列表框。用户在第一个列表框中选择一个选项,然后第二个列表框根据所选内容显示选项。
一切正常,在FireFox,Safari,Chrome上,但在Internet Explorer上则不行(像往常一样(。
错误:在第一个列表框上选择一个选项时,第二个列表框不返回任何内容并变为空。
我已经做了一些测试,php文件是由Internet Explorer触发的(我可以输出值(,但第二个列表框不返回这些值。
这是 HTML 选择框
<select name="list01" id="list01"/>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<select name="list02" id="list02"/>
<option value="0">Select an Option First</option>
</select>
这是 JQuery
$(document).ready(function(){
$('#list01').change(function(){
$('#list02').load('get_list.php?selected='+$('#list01').val() );
});
});
这里是get_list.php
$id = $_GET['selected'];
$result = mysql_query("SELECT * FROM table WHERE id = ".$id." ORDER BY id ASC");
echo "<option value='*'>Select your Item</option>";
while($row = mysql_fetch_array($result) ){
echo "<option value='".$row['id']."'>".$row['name']."</option>";
}
正如我所说,在FF,Chrome和Safari上一切正常,但在IE上则不然。
我错过了什么?
试试这个
$(document).ready(function(){
$('#list01').change(function(){
$.ajax({
type:get,
url:'get_list.php?selected='+$('#list01').val(),
success:function(data) {
$('#list02').html("");
$('#list02').html(data);
}
}) // end of ajax
});
});
我刚刚意识到该代码适用于 PHP 5.2 服务器上的 IE,但不适用于 PHP 5.3 服务器上的 IE。这对我来说没有任何意义,但我会尝试找出原因。如果有人能帮助我,我将不胜感激。