Jquery 动态更新未过帐的选定选项

Jquery 动态更新未过帐的选定选项,jquery,jquery-chosen,Jquery,Jquery Chosen,我可能错过了一些明显的东西。我是新来的,所以请忍受我的无知。 我正在使用Selected with Asp.NET MVC进行多个选择。当用户手动选择值时,它工作正常。 但是,当我使用Ajax调用预先选择一些值(已经存在于与selected一起使用的选项列表中)时,不会发布所选值 下面是我的代码 $.ajax({ type: "POST", url: "/Project/GetProjectCrewMemberIds", tra

我可能错过了一些明显的东西。我是新来的,所以请忍受我的无知。 我正在使用Selected with Asp.NET MVC进行多个选择。当用户手动选择值时,它工作正常。 但是,当我使用Ajax调用预先选择一些值(已经存在于与selected一起使用的选项列表中)时,不会发布所选值

下面是我的代码

          $.ajax({ type: "POST",
            url: "/Project/GetProjectCrewMemberIds",
            traditional: true,
            //dataType:'json',
            data: { projectId: selectedProject },
            success: function (data) {

                $('ul.chosen-choices').empty();
                $.each(data, function (index, item) {                        

                    $('ul.chosen-choices').append('<li class="search-choice"><span>' + item.text + '</span><a class="search-choice-close" data-option-array-index="' + item.value + '"></a></li>');

                });
               // $("#SelectedCrewMembersId").trigger("chosen:updated");
            },
            error: function (xhr, status, exp) {
                alert(exp);
            }
        });
$.ajax({type:“POST”,
url:“/Project/GetProjectCrewMemberIds”,
传统的:是的,
//数据类型:'json',
数据:{projectId:selectedProject},
成功:功能(数据){
$('ul.selected choices').empty();
$.each(数据、函数(索引、项){
$('ul.selected choices').append('li class=“search choice”>'+item.text+'');
});
//$(“#SelectedCrewMembersId”).trigger(“selected:updated”);
},
错误:函数(xhr、状态、exp){
警报(exp);
}
});
Ajax调用工作正常,我得到了所需的值

当我使用触发器时(“选择:更新”);选择列表变为空。当我发表评论时,我得到了添加到列表中但未发布的值

谁能告诉我我错过了什么吗


谢谢

最终我找到了解决方案,希望这能帮助其他人:

            $.ajax({
            type: "POST",
            url: "/Project/GetProjectCrewMemberIds",
            traditional: true,
            //dataType:'json',
            data: { projectId: selectedProject },
            success: function (data) {
                // $('ul.chosen-choices').empty();
                $.each(data, function (index, item) {


                     $("#SelectedCrewMembersId option[value='" + item.value + "']").prop("selected", true);


                });
                $("#SelectedCrewMembersId").trigger("chosen:updated");

            },
            error: function (xhr, status, exp) {
                alert(exp);
            }
        });
它只是更新“”和call.trigger中的所选值(“所选:已更新”)


因此,不要更新所选对象的“ul.selected choices”元素,只需选择和call.trigger所需的元素(“selected:updated”);我会处理剩下的。

非常感谢您发布此邮件。今天它帮了我很多忙!