0

我有一个通过此代码呈现的下拉选择菜单

@Html.DropDownListFor(m => m.OwnedItemId, Model.Plans, "Select a plan type", new {@class = "selectMenu", id="addPlanSelectmenu"})

在视图中,它看起来像这样:

<select class="selectMenu" data-val="true" data-val-number="The field OwnedItemId must   be a number." id="addPlanSelectmenu" name="OwnedItemId" aria-disabled="false"      style="display: none;">
    <option value="">Select a plan type</option>
    <option value="143863">RetirementSaving (143863)</option>
    <option value="143876">BankAccount (143876)</option>
    <option value="143913">RetirementSaving (143913)</option>
    <option value="143929">RetirementSaving (143929)</option>
    <option value="144030">BankAccount (144030)</option>

    ...
</select>

我想在提交后转到默认选项,但我无法使其工作。到目前为止,我已经尝试了很多东西,比如这个答案中提出的,使用

$('#addPlanSelectmenu').selectmenu("value", "");

如果我做这样的事情,我的理解就足够有趣了

$('#addPlanSelectmenu').selectmenu("value", null); //Or an unexisting value

它返回到列表的最后一个选项。

任何想法?

谢谢

编辑:我忘了提到我想一个干净的方法只是为默认文本添加一个值,但我什至不知道这些助手是否可能

编辑2:我最终使用这个答案使它工作

4

4 回答 4

1

Similar as resetting - the only solution working to me:

$('#resetButton').click(function() {
  $("#Service").selectmenu('destroy');
  $("#Service").prop('selectedIndex',0);
  $("#Service").selectmenu();
})';
于 2014-09-12T07:09:40.770 回答
1

试试这个代码:

$('#addPlanSelectmenu').selectmenu("index", 0);
于 2013-07-26T09:41:25.970 回答
0

在 MVC @Html.DropDownListFor 中,这对我使用 jquery 有效。

              if ('#resetButton').click(function(){
                 $("#id").select2('data', null);
               }
于 2017-02-22T17:24:21.013 回答
0

聚会有点晚了,但是考虑到所有其他答案都不正确或不完整,我将投入 2 美分!

你需要做的就是

$('.selectmenu').val(""); // your default option's value
$('.selectmenu').selectmenu("refresh");
于 2016-09-20T10:39:33.060 回答