在ajax回调后在选择列表中设置所选项

时间:2012-01-27 15:03:20

标签: asp.net-mvc-3 jquery razor

当更改另一个选择列表时,我在mvc应用程序中使用jquery ajax回调更新selectlist元素。 ajax回调调用返回partialview的操作。 然后将partialview设置为div的内容。 问题是当返回部分视图时,它将错误的项目设置为选中,所以我需要一种方法来设置回调后的选定项目。

$(document).ready(function () {
   $("#DependentDropDownValue").change(function () {
      var selected = $("#DropDownValue").val();
      var data = {data: $("#DependentDropDownValue").val()};
      $.ajax({
         url: "@Url.Action("IndexPartial","DropDown")",
         data: data,
         success: function (x) {
            $("#partialDiv").html(x);
            $("#DropDownSelectList").val(selected);
            }
        });
    });
});

x的内容为:

"<select id="DropDownValue" name="DropDownValue">
    <option value="1">Emne11</option>
    <option value="2">Emne12</option>
    <option value="3">Emne13</option>
    <option value="4">Emne14</option>
    <option value="5">Emne15</option>
    <option selected="selected" value="0">-------</option>
    <option value="6">Emne21</option>
    <option value="7">Emne22</option>
    <option value="8">Emne23</option>
    <option value="9">Emne24</option>
    <option value="10">Emne25</option>
 </select>"

变量“selected”包含回调前所选选项的值。该项必须再次设置为选中。

我尝试过使用

 $("#DropDownSelectList").val(selected);

但这似乎不起作用

1 个答案:

答案 0 :(得分:2)

您显示的选择列表的ID是DropDownValue而不是DropDownSelectList,因此请确保您在脚本中使用了正确的ID:

$('#DropDownValue').val(selected);