2013-03-20 104 views
1

大家好我想清空一个选择和重新填充一个Ajax调用包含在选择的jQuery

后的选项,这是我的代码:

(document).ready(function(){ 
    $("#nation").change(function() { 
     var nation_id = $(this).val(); 
     change_city_by_nation(nation_id); 
    }); 

    function change_city_by_nation(nation_id){ 
      var site_url_city ="<?php echo(site_url('/backend/city/get_city_by_nation_id')); ?>"; 
      $.ajax({ 
       url: site_url_city, 
       async: false, 
       type: "POST", 
       data: "nation_id="+nation_id, 
       dataType: "html", 

       success: function(data) { 
        $('#city').html(data); 
        $('#city').prepend("<option value='0' selected='selected'>All city</option>"); 

       } 
      }); 
     } 
}); 

<select name="nation" id="nation" style="width:180px;" > 
    <option value="2">Nation2</option> 
    <option value="3">Nation3</option> 
</select> 
<select name="city" id="city" style="width:180px;" > 
    <option value="0">All city</option> 
</select> 

它工作正常,在FF和Chrome,而不是在互联网资源管理器,因为我认为有一个问题的HTML。 我曾尝试用:

$('#city').empty().append(data); 

但问题不解决

如果我报警数据,这是我的输出:

<select name="citylist"> 
<option value="39">Adelaide</option> 
<option value="43">Alice Springs</option> 
<option value="44">Brisbane</option> 
<option value="45">Cairns</option> 
<option value="36">Canberra</option> 
<option value="31">Darwin</option> 
<option value="37">Gold Coast</option> 
<option value="32">Margaret River - Regione dei Vini</option> 
<option value="40">Melbourne</option> 
<option value="41">Palm Cove</option> 
<option value="35">Perth</option> 
<option value="42">Port Douglas</option> 
<option value="33">Sydney</option> 
<option value="34">Tasmania</option> 
<option value="38">Townsville</option> 
</select> 
+0

尝试提醒'数据' – mattytommo 2013-03-20 17:09:00

回答

2

这不工作的原因是因为你正在将<select>插入 a <select>。从你的回复中删除该元素,你的代码将正常工作。

+0

伟大的这是问题,但是可能会选择将我检索到的数据插入城市吗? – 2013-03-20 17:19:07

+0

如果你不能弄明白,试着发布一个新问题,我不确定你甚至问什么。 – 2013-03-20 17:24:59