代码之家  ›  专栏  ›  技术社区  ›  Alessandro Minoccheri

复制一个select的选项并插入到另一个select jQuery中

  •  0
  • Alessandro Minoccheri  · 技术社区  · 13 年前

    大家好,我有一个网站,如果我更改了一个选择,就会启动一个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>
    

    数据警报是:

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

    如何将返回数据到成功功能的选项复制到所选城市? 因为以我的方式,我将一个选择放入另一个选择中。 我无法更改ajax的结果

    1 回复  |  直到 13 年前
        1
  •  2
  •   Mohamed AbdElRazek    13 年前

    我认为你想过滤你的数据响应,所以这个 documentation 因此,首先过滤您的数据,然后附加您的选项:

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