/** * jQuery ligerUI 1.1.9 * * http://ligerui.com * * Author daomi 2012 [ gd_star@163.com ] * */ (function ($) { $.fn.ligerRadio = function () { return $.ligerui.run.call(this, "ligerRadio", arguments); }; $.fn.ligerGetRadioManager = function () { return $.ligerui.run.call(this, "ligerGetRadioManager", arguments); }; $.ligerDefaults.Radio = { disabled: false }; $.ligerMethos.Radio = {}; $.ligerui.controls.Radio = function (element, options) { $.ligerui.controls.Radio.base.constructor.call(this, element, options); }; $.ligerui.controls.Radio.ligerExtend($.ligerui.controls.Input, { __getType: function () { return 'Radio'; }, __idPrev: function () { return 'Radio'; }, _extendMethods: function () { return $.ligerMethos.Radio; }, _render: function () { var g = this, p = this.options; g.input = $(this.element); g.link = $(''); g.wrapper = g.input.addClass('l-hidden').wrap('
').parent(); g.wrapper.prepend(g.link); g.input.change(function () { if (this.checked) { g.link.addClass('l-radio-checked'); } else { g.link.removeClass('l-radio-checked'); } return true; }); g.link.click(function () { g._doclick(); }); g.wrapper.hover(function () { if (!p.disabled) $(this).addClass("l-over"); }, function () { $(this).removeClass("l-over"); }); this.element.checked && g.link.addClass('l-radio-checked'); if (this.element.id) { $("label[for=" + this.element.id + "]").click(function () { g._doclick(); }); } g.set(p); }, setValue: function (value) { var g = this, p = this.options; if (!value) { g.input[0].checked = false; g.link.removeClass('l-radio-checked'); } else { g.input[0].checked = true; g.link.addClass('l-radio-checked'); } }, getValue: function () { return this.input[0].checked; }, setEnabled: function () { this.input.attr('disabled', false); this.wrapper.removeClass("l-disabled"); this.options.disabled = false; }, setDisabled: function () { this.input.attr('disabled', true); this.wrapper.addClass("l-disabled"); this.options.disabled = true; }, updateStyle: function () { if (this.input.attr('disabled')) { this.wrapper.addClass("l-disabled"); this.options.disabled = true; } if (this.input[0].checked) { this.link.addClass('l-checkbox-checked'); } else { this.link.removeClass('l-checkbox-checked'); } }, _doclick: function () { var g = this, p = this.options; if (g.input.attr('disabled')) { return false; } g.input.trigger('click').trigger('change'); var formEle; if (g.input[0].form) formEle = g.input[0].form; else formEle = document; $("input:radio[name=" + g.input[0].name + "]", formEle).not(g.input).trigger("change"); return false; } }); })(jQuery);