将jquery ui selectmenu下拉列表重置为默认选项

时间:2013-07-26 09:36:46

标签: jquery-ui razor jquery-ui-selectmenu

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

@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>

我想在提交后转到默认选项,但我无法使其正常工作。到目前为止,我已经尝试了很多东西,例如使用

提议的in this answer
$('#addPlanSelectmenu').selectmenu("value", "");

如果我做这样的事情,我的理解很有趣

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

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

有什么想法吗?

由于

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

编辑2: 我最终使用此answer

使其工作

4 个答案:

答案 0 :(得分:1)

试试这段代码:

$('#addPlanSelectmenu').selectmenu("index", 0);

答案 1 :(得分:1)

与重置类似 - 唯一对我有用的解决方案:

$('#resetButton').click(function() {
  $("#Service").selectmenu('destroy');
  $("#Service").prop('selectedIndex',0);
  $("#Service").selectmenu();
})';

答案 2 :(得分:0)

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

您需要做的就是

$('.selectmenu').val(""); // your default option's value
$('.selectmenu').selectmenu("refresh");

答案 3 :(得分:0)

好吧MVC @ Html.DropDownList这对我来说使用jquery。

              if ('#resetButton').click(function(){
                 $("#id").select2('data', null);
               }