admin 管理员组文章数量: 1184232
2024年3月7日发(作者:mediumint与integer的取值范围)
JS(还需要jquery1.5以上版本):
/** jQuery inputEvaluation Plugin
* 自动给input(除file)赋值.
* 好处:不用显式的页面上的input赋值,可以直接从后台传递过来json串
* 缺点:会导致form的reset的reset方法失去意义.
* jquery 版本不能低于1.5
* Copyright(c) 2022 bysag
* Version: 1.0
*/
(function($){
$.valuation=function(options){
if(options!=null&&$.trim(options).length>0){
var options_json_obj ;
try{
if($.type(options)=='string'){
options_json_obj = $.parseJSON(options);
}else if($.type(options)=='object'||$.type(options)=='array'){
options_json_obj = options;
}else{
alert('error options is not string,object,array.');
}
var json_obj_length = options_json_;
if(json_obj_length!=undefined){//[{},{},{}]...
for(var i=0;i //wait Version 2.0 ... } }else{//{} for(var key in options_json_obj){ var input_obj = $(this).find(":input"); var input_length = input_; for(var j=0;j var sub_input_obj = $(input_obj[j]);//input obj if($.trim(sub_input_("name"))==$.trim(key)){ var type = sub_input_("type"); var json_value =$.trim(options_json_obj[key]);//json value if(type=='text'||type=='hidden'||type=='button'||type=='submit'||type=='reset'||type=='password'){ $(sub_input_obj).attr("value",json_value); }else if(type=='checkbox'){ var input_value = sub_input_("value"); if(json_f(",")!=-1){// checkbox many var array_json_value = json_(","); for(var k=0;k if($.trim(input_value)==array_json_value[k]){ $(sub_input_obj).attr("checked","checked"); } } }else{ if($.trim(input_value)==json_value){ $(sub_input_obj).attr("checked","checked"); } } }else if(type=='radio'){ var input_value = sub_input_("value"); if($.trim(input_value)==json_value){ $(sub_input_obj).attr("checked","checked"); } }else if(type=='textarea'){ $(sub_input_obj).val(json_value); }else if(type=="select-one"||type=="select-multiple"){ $.each($(sub_input_obj).children(),function(i,obj){ if(json_f(",")!=-1){ var s_array json_(","); for(var h=0;h if(s_array[h]==$.trim($(obj).attr("value"))){ $(obj).attr("selected","selected"); } } }else{ if(json_value==$.trim($(obj).attr("value"))){ $(obj).attr("selected","selected"); } } }); } } } } } }catch(e){ alert('error: options '+e+'. example:{"title":"1"}'); } }else{ alert('error: options is null or length=0.'); }; }; })(jQuery); = Html: