123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- /**
- * 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 = $('<a href="javascript:void(0)" class="l-radio"></a>');
- g.wrapper = g.input.addClass('l-hidden').wrap('<div class="l-radio-wrapper"></div>').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);
|