var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; }; if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } } { let window = _____WB$wombat$assign$function_____("window"); let self = _____WB$wombat$assign$function_____("self"); let document = _____WB$wombat$assign$function_____("document"); let location = _____WB$wombat$assign$function_____("location"); let top = _____WB$wombat$assign$function_____("top"); let parent = _____WB$wombat$assign$function_____("parent"); let frames = _____WB$wombat$assign$function_____("frames"); let opener = _____WB$wombat$assign$function_____("opener"); //主框架代码开始 (function ($, undefined) { var form = (function () { var form = function (selector, context) {//调用$(selector)时,实际是调用这个函数. return new form.fn.init(selector, context); }; //实例方法开始 form.fn = { constructor: form, init: function (selector, context) { this.jo = $(selector, context); return this; } }; form.prototype = form.fn; //实例方法结束 form.fn.init.prototype = form.fn; //静态方法开始 //静态成员结束 return form; //这个form就是$form })(); window.form = window.$form = form; })(jQuery); //主框架代码结束 //静态方法开始 $.extend($form, { }); //静态方法结束 //实例方法开始 $form.fn.select = function (options) { var _this = $(this.jo); var obj = function () { this.selector = _this; this.options =$.extend({data:[]}, options); } obj.prototype.getValue = function () { var _val = $('input', _this).val(); var _val2 = parseInt(_val, 10); if (_val2 == 0 || _val2) { return _val2; } return _val; } obj.prototype.setValue = function () { var _obj = this; var _val = arguments[0]; $('input', _this).val(_val); $.each($('li', _obj.panel), function (i, o) { if ($(o).attr('value') == _val) { $('.kui-form-sltitle span', _this).html($('a', $(o)).html()); } }); } obj.prototype.change = function () { var _obj = this; if (_obj.options.onChange) { _obj.options.onChange(_obj.panel.find('li[value="' + _obj.getValue() + '"]')[0], $c.array.first(_obj.options.data, function (i, o) { return o.value == _obj.getValue(); })) } } obj.prototype.create = function () { var _obj = this; _this.html(''); _this.addClass('kui-form-select'); var _input = $('').appendTo(_this); //if (_obj.options.value != null && _obj.options.value != undefined) { // $(_input).val(options.value); //} var _titleHtml = $('
').appendTo(_this); var selectedItem = $c.array.first(_obj.options.data, function (i, o) { return o.value == _obj.options.value; }); var _title = ''; if (selectedItem) { _title = selectedItem.text; $(_input).val(selectedItem.value); } _titleHtml.append('' + _title + ''); var _ul = $('').appendTo('body'); _obj.panel = _ul; _titleHtml.click(function (e) { if ($(_ul).is(":hidden")) { e.stopPropagation();//使$(document).click不执行. _ul.show(); _ul.css('left', _this.offset().left); _ul.css('top', _this.offset().top + _this.height() + parseInt(_this.css('border-top-width').split('px')[0], 10) + parseInt(_this.css('border-bottom-width').split('px')[0], 10)); _ul.css('width', _this.width()); if (_ul.offset().top + _ul.height()+20 > $(document).height()) { _ul.css('top', _this.offset().top-_ul.height());//上方显示. } } }); $.each(_obj.options.data, function (i, o) { var _item = $('
  • ' + o.text + '
  • ').appendTo(_ul); _item.click(function (e) { var oldValue = $(_input).val(); $(_input).val(o.value); $('span', _titleHtml).html(o.text); if (oldValue != o.value && _obj.options.onChange) { //debugger; _obj.options.onChange(this, o,_obj); } _ul.hide(); }); }); //绑定页面点击事件 $(document).click(function (e) { _obj.panel.hide(); }); } var _obj = new obj(); _obj.create(); return _obj; }//singleSelect结束 $form.fn.checkbox = function (options) {//options:{name,data,value,onChange} var _this = $(this.jo); var obj = function () { this.selector = _this; this.options = options; } obj.prototype.getValue = function () { var inputValue = $.trim($('input', _this).val()); if (!inputValue) { return []; } return $c.array.select(inputValue.split(','), function (i, _val) { var _val2 = parseInt(_val, 10); if (_val2 == 0 || _val2) { return _val2; } return _val; }); } obj.prototype.setValue = function (values) { $('input', _this).val(''); if (values == null || values == undefined) { return; } var valList = []; $('.kui-form-checkbox-item', _this).removeClass('checked'); $.each($('.kui-form-checkbox-item', _this), function (i, o) { $.each(values, function (j, v) { if ($(o).attr('value') == v) { $(o).addClass('kui-checked'); valList.push(v);//例如:只有1、2、3三选项,setValue([1,2,3,4,5])还是只将值设为1,2,3. } }); }); $('input', _this).val(valList.join(',')); return; } obj.prototype.change = function () { var _obj = this; if (_obj.options.onChange) { var values = []; $.each(_obj.options.data, function (i, o) { $.each(_this.find('.kui-form-checkbox-item'),function(j,elem){ if (elem.value == o.value&&$(elem).hasClass('kui-checked')) { values.push(o); } }) }) _obj.options.onChange(null, values); } } obj.prototype.create = function () { var _obj = this; _this.html(''); _this.addClass('kui-form-checkbox'); var _input = $('').appendTo(_this); var valList = []; $.each(_obj.options.data, function (i, o) { var _item = $('
    ').appendTo(_this); if (_obj.options.i_width) { _item.find('i.kui-nochecked,i.kui-checked').css('width', _obj.options.i_width); } else { //_item.find('i.kui-nochecked').css('width', _item.find('i.kui-checked').width()); var i_width = Math.floor(_item.find('i.kui-checked').width()); _item.find('i').css('width', i_width); } //_item.find('i.kui-nochecked').css('height', _item.find('i.kui-checked').height()); if (_obj.options.countPerLine > 0) { if ((i + 1) % _obj.options.countPerLine == 0) { _this.append('
    '); } if ((i + 1) % _obj.options.countPerLine == 1) { _item.addClass('kui-line-start') } } if (i == 0) { _item.addClass('kui-first'); } if (_obj.options.value != null && _obj.options.value != undefined) { $.each(_obj.options.value, function (j, v) { if (o.value == v) { _item.addClass('kui-checked'); valList.push(v); } }); } _item.click(function () { if (_obj.options.disabled) { return; } _item.toggleClass('kui-checked'); var newValues = []; $.each(_obj.options.data, function (_k, _v) { $.each($('.kui-form-checkbox-item', _this), function (_i, _item) { if (_v.value == $(_item).attr('value') && $(_item).hasClass('kui-checked')) { newValues.push(_v); } }); }); $(_input).val($c.array.select(newValues, function (__n, __o) { return __o.value }).join(',')); if (_obj.options.onChange) { _obj.options.onChange(this, newValues,_obj); } }); }); $(_input).val(valList.join(',')); _this.append('
    '); } var _obj = new obj(); _obj.create(); return _obj; }//checkbox结束 $form.fn.radio = function (options) {//options:{name,data,value,onChange} var _obj = this; var _this = $(this.jo); var obj = function () { this.selector = _this; this.options = options; } obj.prototype.getValue = function () { var v = $('input', _this).val(); if (v == '') { return ''; } return parseInt(v, 10); } obj.prototype.setValue = function (val) { $('input', _this).val(''); $('.kui-form-radio-item', _this).removeClass('kui-checked'); $.each($('.kui-form-radio-item', _this), function (i, o) { if ($(o).attr('value') == val) { $(o).addClass('kui-checked'); $('input', _this).val(val);//只有要设置的值在选项中存在时才设置值. } }); return; } obj.prototype.change = function () { var _obj = this; if (_obj.options.onChange) { _obj.options.onChange(_this.find('div[value=' + _obj.getValue() + ']')[0], $c.array.first(_obj.options.data, function (i, o) { return o.value == _obj.getValue(); })) } } obj.prototype.create = function () { _this.html(''); _this.addClass('kui-form-radio'); var _input = $('').appendTo(_this); $.each(options.data, function (i, o) { var _item = $('
    ').appendTo(_this);; if (_obj.options.countPerLine > 0) { if ((i + 1) % _obj.options.countPerLine == 0) { _this.append('
    '); } if ((i + 1) % _obj.options.countPerLine ==1) { _item.addClass('kui-line-start') } } if (i == 0) { _item.addClass('kui-first'); } //比如性别:1:男,0:女,'':未设置,这里0和''不能相等. var v1 = o.value; var v2 = _obj.options.value; if (v1 == undefined || v1 == null || v1 == NaN) { v1 = ''; } if (v2 == undefined || v2 == null || v2 == NaN) { v2 = ''; } if (v1+'' == v2+'') {//''==0,但是这里我们空字符串与0不能相等,所以转成字符串比较,''!='0' _item.addClass('kui-checked'); //if (options.value != null && options.value != undefined) { $(_input).val(v2);//只有要设置的值在选项中存在时才设置值. //} } _item.click(function () { if (_obj.options.disabled) { return; } var oldValue = $(_input).val(); $(_input).val(o.value); $('.kui-form-radio-item', _this).removeClass('kui-checked'); _item.addClass('kui-checked'); //$('i', item).html(''); if (oldValue != o.value && _obj.options.onChange) { _obj.options.onChange(this, o,_obj); } }); }); _this.append('
    '); } var _obj = new obj(); _obj.create(); return _obj; }//radio结束 //实例方法结束 }