很有成就感.
主要是用在後台,
在列表時帶出簡單的圖示(YES|NO)
按下去時會AJAX資料到SERVER去,
圖示會變成(YES|NO)
;(function($){ $.fn.YesNo = function(settings){ // defalust setting var _defautSettings = { url : false, type : false, ajax : true, input: false }; // extend defalut setting var _settings = $.extend(_defautSettings, settings); // update function function update_is_item(_no, _yn, _tp){ $.ajax({ url: '[page]', type: 'post', data: ({[data]}), success: function(data){ if(data != "" ){alert(data)}; } }); } var _handler = function(){ var _this = this; $(_this) .hover( function(){ if($(this).hasClass("yes-on")){ $(this).addClass("yes-on-hover"); }else{ $(this).addClass("no-on-hover"); } }, function(){ if($(this).hasClass("yes-on")){ $(this).removeClass("yes-on-hover"); }else{ $(this).removeClass("no-on-hover"); } } ) .click(function(){ _no = $(this).attr("rel"); var _yn; if($(this).hasClass("yes-on")){ $(this).addClass("no-on").removeClass("yes-on yes-on-hover"); _yn = (_settings.ajax ? "no" : 0); }else{ $(this).addClass("yes-on").removeClass("no-on no-on-hover"); _yn = (_settings.ajax ? "yes" : 1); } if(_settings.ajax){ update_is_item(_no, _yn, _settings.type); }else{ if(_settings.input){$("#"+_settings.input).val(_yn);} } }); } return this.each(_handler); } })(jQuery);
參考網站
http://www.jaceju.net/blog/?p=336
http://www.jaceju.net/blog/?p=337