C# 多选MVC的异步更新选项列表

C# 多选MVC的异步更新选项列表,c#,javascript,jquery,ajax,asp.net-mvc,C#,Javascript,Jquery,Ajax,Asp.net Mvc,我正在制作一个表单供用户输入,其中一个项目是一个多选项选择,有着非常多的选择~1600个,所以它必须被过滤下来以便消化。我有3个过滤器字段下拉列表,在我对数据库进行AJAX调用并获得更新列表之前,我需要完成这些下拉列表。它类似于,但是我也不想丢失以前选择的任何项目。这是我原型化的函数的签名: public JsonResult GetContentStandardsForUser(string type, string grade, string subject, List<SelectL

我正在制作一个表单供用户输入,其中一个项目是一个多选项选择,有着非常多的选择~1600个,所以它必须被过滤下来以便消化。我有3个过滤器字段下拉列表,在我对数据库进行AJAX调用并获得更新列表之前,我需要完成这些下拉列表。它类似于,但是我也不想丢失以前选择的任何项目。这是我原型化的函数的签名:

public JsonResult GetContentStandardsForUser(string type, string grade, string subject, List<SelectListItem> selected)
我想要的是返回新的项目列表,而不是丢失已选择的项目,并更新拾取列表


使用jquery这个AJAX调用会是什么样子?我应该只在查询中包含当前选定的值,还是可以像上面写的那样传递SelectListItems?

在思考了我介绍的幻想足球示例后,我想出了一个解决方案。我做了两个多重选择,一个可用,一个选定。只有选定列表绑定到模型-可用列表是查询结果更新的列表

如果有人能想出一个单一的选择控制解决方案,我仍然感兴趣,但这是一个很好的解决办法,为我,现在。我寻找单一选择解决方案的原因是我已经在使用这个插件来过滤我的选择/可用列表

埃塔:我意识到我可以用jquery在一个列表框中完成这项工作。使用ID,循环浏览选项,如果未选中,则将其删除。然后添加查询中的所有新选项。瞧

ETA2:现在用代码

        //Filter content standards
        $("#csType, #csGrade, #csSubject").change(function(){
            var type = $("#csType").val();
            var grade = $("#csGrade").val();
            var subject = $("#csSubject").val();

            if(type != "" && grade != "" && subject != "")
            {
                $("#csList option:not(:selected)").remove();

                var items="";
                $.getJSON("@Url.Action("GetContentStandardsForUser","Summary")", {type:type, grade:grade, subject:subject} ,function (data) {
                    $.each(data,function(index,item){
                        items+="<option value='"+item.Value+"'>"+item.Text+"</option>"
                    });
                    $("#csList").append(items)
                    $("#csList").trigger('bootstrapduallistbox.refresh', true);
                });
            }
        });

绑定选项后,调用以下函数

$('#csList').multiselect('rebuild');

您不想丢失以前选择的任何项目是什么意思?您想让用户从这个多选项中进行选择,调整过滤器,然后继续进行选择吗?是的,就是这样。所以,假设他们从四年级选择了一个内容标准,然后他们将过滤器改为五年级,我希望之前的选择保留在集合中。如果有帮助,可以将其想象为选择一支梦幻足球队。我有一整套联盟中的所有NFL球员,我希望能够通过QB/RB/WR进行筛选,挑选一些球员,调整筛选,并且不会失去我已经挑选的球员。