bootstrap的modal彻底还原恢复页面初始组件及样式(包括清空数据)

清空数据:

	var clearById=function (dialog_id){
		var obj=$('#'+dialog_id);
		$('textarea.form-filter, select.form-filter, input.form-filter', obj).each(function () {
			$(this).val("");
		});
		$('input.form-filter[type="checkbox"]', obj).each(function () {
			$(this).attr("checked", false);
		});
		$(".form-filter.select2",obj).val('').trigger("change");
		$("img.form-filter",obj).attr('src','').hide();
	}
    function showModal(m){
        clearById('#'+m);
        $('#'+m).modal('show');
    }
    function showAndResetModal(m){
    	var mhtml=m+"_html";
    	if(isEmpty(document.body[mhtml])){
    		document.body[mhtml]=$('#'+m).get(0).outerHTML;
    	}
//    	alert(document.body[mhtml]);
    	var p=$('#'+m).parent();
    	$('#'+m).remove();
    	p.append(document.body[mhtml]);
    	
    	$("#"+m+" .select2-container").remove();//select2()函数会重新生成.select2-container元素,所以要移除原来的
    	
    	showModal(m);
    	
    	$("#"+m+" .select2-multiple").select2({}); 
    }

modal里有自定义元素组件时,使用showAndResetModal,否则还是建议使用showModal

你可能感兴趣的:(Web前端,bootstrap)