不能刷新下拉列表在asp mvc 4与选择0.9.12

本文关键字:选择 mvc 刷新 下拉列表 asp 不能 | 更新日期: 2023-09-27 18:03:29

我用Html创建了几个下拉列表。DropDownListFor:

<div class="control-group">
  <label class="control-label" for="inputPropertySurname">
   City
   <span class="form-required" title="This field is required.">*</span>
  </label>
  <div class="controls">
   @*<input type="text" id="inputPropertySurname">*@
   @Html.DropDownListFor(m => m.CityId, vmpa.Cities)
  </div>
 <!-- /.controls -->
</div>
但它总是在selectbox 后面创建一个div区域
<div id="CityId_chzn" class="chzn-containerchzn-container-single 
 chzn-container-single-nosearch" style="width: 220px;" title="">
   <a href="javascript:void(0)" class="chzn-single" tabindex="-1">
    <span>Hà Nội</span>
    <div><b></b></div>
   </a>
   <div class="chzn-drop" style="left: -9000px;">
    <div class="chzn-search"><input type="text" autocomplete="off">
    </div>
    <ul class="chzn-results">
     <li id="CityId_chzn_o_0" class="active-resultresult-selected" style="">Hà Nội</li>
     <li id="CityId_chzn_o_1" class="active-result" style="">Hồ Chí Minh</li>
    </ul>
   </div>
</div>

我使用ajax获取json数组,并将json数组中的新选项替换为下拉列表。选择框有新的选项,但它仍然显示旧的选项在div id City_chzn。我尝试了很多方法,但不能刷新它来显示新的值。

我的ajax

<script type="text/javascript">
    $(document).ready(function () {
        $("#CountryId").chosen().change(function () {
            var id = $("#CountryId option:selected").val();
            DDLCountryChange(id);
        });
    });
    function DDLCountryChange(id) {
        var ddl = $("#CityId");
        ddl.chosen();
        ddl.prop("disabled", true);
        $.ajax({
            url: "/Post/GetCityInfoByCountry/" + id,
            type: "GET",
            dataType: "JSON",
            success: function (result) {
                ddl.empty();
                var str = '';
                $.each(result, function (index, value) {
                    ddl.chosen().append("<option value='" + value['Value'] + "'>" + value['Text'] + "</option>");
                    ddl.chosen().trigger('listzt:updated');
                });
                //ddl.prop('disabled', false);
            }
        });
    }
</script>

更新现在我知道为什么我的代码创建一个div.因为我的模板使用选择的jquery,所以这是为什么一个div创建后选择的原因。我选择了0.9.12版本。我使用

ddl.trigger('listzt:updated');

but chosen不更新新值来显示

更新我已经解决了我的问题。触发(' listzt:updated ')而不是listzt:updated。

不能刷新下拉列表在asp mvc 4与选择0.9.12

请看看这个非常描述性和有用的教程,关于如何使用下拉列表,在MVC环境中,使用JQuery和JSON rest服务。

http://www.c-sharpcorner.com/UploadFile/4b0136/working-with-dropdownlist-in-mvc-5/

奇怪的是,他们用来制作教程的例子,几乎就是你在这里做的(国家,城市等)…

希望这对你有帮助!