Select2仅根据先前的选择加载ajax数据一次

时间:2016-07-16 12:35:31

标签: jquery ajax select jquery-select2 jquery-select2-4

我有两个下拉菜单,一个是国家,第二个城市。

<select class="form-control" id="CountryId" name="CountryId"><option value=""></option>
    <option value=""></option> 
    <option value="1">Country 1</option>
    <option value="2">Country 2</option>   
</select>

<select disabled class="form-control" id="CityId" name="CityId"><option value=""></option>
    <option value=""></option>      
</select>

现在我要做的是根据国家/地区选择过滤所有城市

这是我到目前为止的代码

<script>
    jQuery(document).ready(function () {           

        //Variables
        var country = jQuery('#CountyId');
        var city = jQuery('#CityId'); 

        country.select2({
            placeholder: 'Select a country',
            width: '100%'         
        });
        country.on("select2:select", function (e) {              
             city.removeAttr('disabled');
        }
        });

        city.select2({
            placeholder: 'Select a city',
            width: '100%',
            ajax: {
                url: '@Url.Action("GetCity")',
                type: "get",
                data: { id: country.val() },
                processResults: function (data, params) {
                    return { results: data };
                },
                cache: true
            }
        });          
    });
</script>

现在我有两个问题

1:只有在我的国家选择完成后,才需要评估城市的data功能。

2:选择2在用户输入搜索时进行ajax查询。我只想根据城市选择加载数据集一次,然后进行本地文本搜索?

ps:我正在使用Select2 V4.0.3

0 个答案:

没有答案