下拉列表没有更新选择更改

问题描述 投票:0回答:1

PFB我的代码。我在asp.net mvc中使用bootstrap设计了一个下拉列表。列表的内容是静态和硬编码的。在下拉列表中更改选择时,不会更新最新项目。我附上我的代码以及问题的屏幕截图。在下拉列表中,即使我选择已分配,状态列表也不会更新。 the status field is not changing to assigned or in progress<div class="dropdown"> <button class="btn btn-default dropdown-toggle" runat="server" type="button" id="dropdownStatus" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true"> Status <span class="caret"></span> </button> <ul class="dropdown-menu" aria-labelledby="dropdownStatus"> <li><a href="#">Assigned</a></li> <li><a href="#">In Progress</a></li> <li><a href="#">Resolved</a></li> </ul> </div>

model-view-controller dropdown
1个回答
0
投票

如果使用引导下拉列表,则必须使用Javascript更新模型。只需在页面上保留一个隐藏的内容,然后在下拉列表的更改中附加处理程序。

需要注意的一点是,Bootstrap下拉列表不会触发更改事件。您必须将处理程序附加到各个项目。像这样的东西:

$('.dropdown-menu a').click(function(e) {
    
    // set the hidden field to the new value
    var newValue = $(this).text();
    $('#foo').val(newValue);
    
});
@Html.HiddenFor(m => m.myProperty, new {id = "foo"})

<div class="dropdown">
        <button class="btn btn-default dropdown-toggle" runat="server" type="button" id="dropdownStatus" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
            Status
            <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" aria-labelledby="dropdownStatus">
            <li><a href="#">Assigned</a></li>
            <li><a href="#">In Progress</a></li>
            <li><a href="#">Resolved</a></li>
        </ul>
    </div>

当然,如果你真的不需要一个Bootstrap下拉列表,也许只需要它看起来像它,你可以通过使用常规HTML下拉列表并将其设置为引导下拉列表来非常轻松地完成它:

@Html.DropDownListFor(m => m.myProperty, new {@class = "form-control"})

form-control是一个bootstrap css类,它使你的输入控件更像Bootstrap。它虽然不尽相同(虽然我更喜欢它),所以选择取决于你。

© www.soinside.com 2019 - 2024. All rights reserved.