Asp.net mvc 如何刷新引导multiselect复选框并保持复选框的原始值?

Asp.net mvc 如何刷新引导multiselect复选框并保持复选框的原始值?,asp.net-mvc,twitter-bootstrap,Asp.net Mvc,Twitter Bootstrap,我正在尝试刷新bootstrap 3.0 multiselect控件。 刷新时,我希望将复选框重置为第一次渲染局部视图时的先前状态 我怎样才能做到这一点 我尝试了以下方法,但没有成功 维护隐藏字段,用于在查看后存储选定的复选框值 被渲染 在“重置”按钮上,单击: 2.1取消选中所有复选框。 2.2只勾选那些我从隐藏字段中获取其值的复选框 j('#btnReset11').click(function () { j("#divErrorMessage ul

我正在尝试刷新bootstrap 3.0 multiselect控件。 刷新时,我希望将复选框重置为第一次渲染局部视图时的先前状态

我怎样才能做到这一点

我尝试了以下方法,但没有成功

  • 维护隐藏字段,用于在查看后存储选定的复选框值 被渲染

    在“重置”按钮上,单击:

    2.1取消选中所有复选框。
    2.2只勾选那些我从隐藏字段中获取其值的复选框

    j('#btnReset11').click(function () {            
            j("#divErrorMessage ul li").not(':first').remove();
            j("#divErrorMessage").hide();
            j("#divSuccessMessage").hide();
    
            j("#includeSelectAllOption").find("option").removeAttr("selected");
            j("#chkRoles ul li").removeClass("active");
            j("#chkRoles .btn-group").find("button").removeAttr('title');
            j("#chkRoles .btn-group").find("button").text('Select');
    
           var value = j("#selectedCheckboxes").val();
            valueItems = value.split(", ");
            for (var i = 0; i < valueItems.length; i++) {
                j('#' + valueItems[i]).attr('selected', 'selected');
                j("#chkRoles ul li input[value=" + valueItems[i] + "]").parent().parent().parent().addClass("active");
                var title = j("#chkRoles .btn-group").find("button").title;
                j("#chkRoles .btn-group").find("button").removeAttr(title);
            }
    
            if (valueItems.length > 0) {
                j("#chkRoles .btn-group").find("button").text(valueItems.length + ' selected');
            }
            else {
                j("#chkRoles .btn-group").find("button").text('Select');
            }
        });
    
    j('#btnReset11')。单击(函数(){
    j(“#diverorMessage ul li”).not(':first').remove();
    j(“#divErrorMessage”).hide();
    j(“#divSuccessMessage”).hide();
    j(“#includeAlloption”).find(“option”).removeAttr(“selected”);
    j(“chkRoles ul li”).removeClass(“主动”);
    j(“chkRoles.btn组”).find(“按钮”).removeAttr(“标题”);
    j(“chkRoles.btn组”).find(“按钮”).text(“选择”);
    var value=j(“#selectedcheckbox”).val();
    valueItems=value.split(“,”);
    对于(变量i=0;i0){
    j(“#chkRoles.btn组”).find(“按钮”).text(valueItems.length+“selected”);
    }
    否则{
    j(“chkRoles.btn组”).find(“按钮”).text(“选择”);
    }
    });
    

  • 复选框如何获取第一个状态?使用的模型是基于以前的操作,还是multiselect的预定义选定状态?OnRefresh是一个按钮点击和/或页面重新加载吗?attr('selected','selected')是否选中复选框?如果是,请尝试使用.prop('checked',true)代替.No。它不起作用。在bootstrap中有解决这个问题的方法吗?我的意思是,有没有更简单的方法来调用bootstrap js函数来实现这一点?你能不能也添加一些上下文/解释?
        j(document.body).on('click', '#btnReset-Button', function () {        
        j("#divErrorMessage").hide();
        j(this).parents('.PopupModalClass').find('input[type="text"],input[type="email"],select').each(function () {
            if (this.defaultValue != '' || this.value != this.defaultValue) {
                this.value = this.defaultValue;
                setTimeout(function () {
                    j('.PopupModalClass #multiSelectDropdown').multiselect('refresh');
                });
            } else { this.value = ''; }
        });
    });