一般的审核功能,有基本的处理方式【通过】or【不通过】,处理意见等字段自定义。
今天用到,之前想用jquey的dialog来处理,但是感觉起来跟整体代码的美观不兼容,所以直接修改源码,思路是改个messager,源码贴上来:
1、首先要加个定义,基于1.3.1,找到$.messager.prompt ,通过重构这个方法来处理 ..
复制这段prompt定义为auditer
2、这auditer函数里写你自己的处理方式和页面结构了
,auditer:function(_22e,msg,lab1,lab2,fn){ var _22f="<div><label>"+lab1+"<label>:<select id='cc'/><div id='sp'><div style='color:#99BBE8;background:#fafafa;padding:5px;'>选择处理方式</div><input type='radio' name='opperatype' value='true'/><span>通过</span><br/><input type='radio' name='opperatype' value='false'/><span>不通过</span><br/></div>"+"<br/>"+"<label>"+lab2+":</label><textarea class="messager-input" type="text"/></div>"+"<div style="clear:both;"/>"; var _230={}; _230[$.messager.defaults.ok]=function(){ if($("#cc",win).combo('validate')==true) win.window("close"); if(fn){ fn($(".messager-input",win).val(),$("#cc",win).combo('getValue'),$("#cc",win).combo('getText'));// return false;//这里是返回前台调用时需要用到的值,下拉的text和value } }; _230[$.messager.defaults.cancel]=function(){ win.window("close"); if(fn){ fn(); return false; } }; var win=_222(_22e,_22f,_230,true);//后面加了个true,用来在_222函数中做判断是否需要别的处理 win.children("input.messager-input").focus(); return win; },
3、_222函数也要改,把下拉的样式解析
function _222(_223,_224,_225,_226){
var win=$("<div class="messager-body"></div>").appendTo("body");
win.append(_224);
//在中间插入解析select if(_226){ $("div.messager-body").find('#cc').combo({ required:true, editable:false }); $('#sp').appendTo($('#cc').combo('panel')); $('#sp input').click(function(){ var v = $(this).val(); var s = $(this).next('span').text(); $('#cc').combo('setValue', v).combo('setText', s).combo('hidePanel'); }); }
if(_225){
var tb=$("<div class="messager-button"></div>").appendTo(win);
for(var _226 in _225){
$("<a></a>").attr("href","javascript:void(0)").text(_226).css("margin-left",10).bind("click",eval(_225[_226])).appendTo(tb).linkbutton();
}
}
4、前台调用就简单多了
$.messager.auditer('My Title', 'Please type something', '审核处理','审核意见', function(textValue,selectValue,selectText){ alert(selectValue); //and do something... });
5、最后的结构就是这样的
all done..
Comments | NOTHING