【问题标题】:copy options of a select and insert into another select jQuery复制选择的选项并插入到另一个选择 jQuery
【发布时间】:2013-03-20 17:29:43
【问题描述】:

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

【问题讨论】:

    标签: jquery ajax


    【解决方案1】:

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

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

    【讨论】:

    • 不行,这段代码直接在选择城市里面插入了选择标签。是另一个选择中的选择,我只想复制选项
    • @AlessandroMinoccheri 抱歉,请使用“option”而不是“select”重试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2013-08-25
    • 2017-12-16
    相关资源
    最近更新 更多