Jquery Multiselect下拉列表选择和取消选择MVC中的问题

Jquery Multiselect下拉列表选择和取消选择MVC中的问题,jquery,asp.net-mvc,razor,jquery-chosen,Jquery,Asp.net Mvc,Razor,Jquery Chosen,我正在使用multi-select下拉菜单选择多个选项。当我尝试添加多个用户名时,它工作正常。当我尝试从UI的下拉列表中取消选择其中一个选定用户名时,它看起来好像正在删除,但从代码级别取消选择的用户名不会被删除。 任何人都可以帮我解决这个问题。我正在使用下面的多选下拉代码 <div id="dvUserNames" class="col-md-6"> @if (Model.UserNameCollection != null) { @H

我正在使用multi-select下拉菜单选择多个选项。当我尝试添加多个用户名时,它工作正常。当我尝试从UI的下拉列表中取消选择其中一个选定用户名时,它看起来好像正在删除,但从代码级别取消选择的用户名不会被删除。 任何人都可以帮我解决这个问题。我正在使用下面的多选下拉代码

<div id="dvUserNames" class="col-md-6">
@if (Model.UserNameCollection != null)
{
    @Html.DropDownListFor(model => model.UserId, 
                          new SelectList(Model.UserNameCollection, "UserId", "UserName", Model.UserId), 
                          new { @class = "chosen-select", multiple = "multiple", @style = "width:6.0cm"                               
                         })
}
</div>
我在jquery按钮单击事件中使用以下代码

  var UserNameCollection=[]; 
    for (var i = 0; i < $('#dvUserNames :selected').length; i++) 
{ 
UserNameCollection.push($('#dvUserNames :selected')[i].value); 
}
多谢各位
Venkateswara rao

添加记录时,您正在推送到阵列,但取消选择时,您需要拼接用户阵列

UserNameCollection.splice([Index of removed username]);

从代码层面上讲,你是什么意思?你具体在哪里观察到这个结果?这与jQuery有什么关系?注释中的代码不是很有用。请更新问题以包含相关代码,并明确指出失败的地方。如果在JavaScript中发现问题,还应更新该问题,使其包含相关JavaScript的可运行代码段以及JavaScript运行的客户端HTML。class=selected选择是否将其转换为框?还是仅仅使用样式?如果使用,那么您需要使用它的API。@Venkateswararao:您在哪里使用显示的JavaScript代码?页面加载时是否只发生一次?还是为了应对某一特定事件?提供一个示例来演示此问题很重要。@David我在按钮单击事件中使用javascript代码。取消选择时间是否有任何事件。我尝试使用onchange事件,但每次选择或取消选择时间时它都会调用。如何知道它是选择还是取消选择。您能帮助我吗?您可以在onchange中进行比较吗汉德勒。如果UserNameCollection包含一条不在$'dvUserNames:selected'中的记录,则从UserNameCollection中切片该记录,并声明它们只需单击一个按钮即可运行代码,这样就不会存在要拼接的现有数组。一个片段就可以清楚地说明这一点。@DrollDreard同意需要OP提供更多信息