1

こんにちは、Ajax呼び出しの後に選択を空にして再入力したいです

これは私のコードです:

(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>

htmlに問題があると思われるため、Internet Explorerではなく、FFとChromeでは問題なく動作します。私は試してみました:

$('#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>
4

1 に答える 1

2

これが機能しない理由は、 を に挿入している<select> ためです<select>。応答からその要素を削除すると、コードが正常に機能します。

于 2013-03-20T17:13:19.493 に答える