私はjQtransformに影響を与えるバグに苦しんでいます:
チェックボックスに関連付けられたラベルをクリックすると、ボックスが「視覚的に」チェックされますが、フォームを送信すると、送信されません。(したがって、jqTransformレイヤーのみをチェックし、実際のチェックボックスはチェックしません)
- ラジオで同じシナリオを考えると->それは機能します
チェックボックスの直接クリック->それは機能します
$.fn.jqTransCheckBox = function(){ return this.each(function(){ if($(this).hasClass('jqTransformHidden')) {return;} var $input = $(this); var inputSelf = this; //set the click on the label oLabel = jqTransformGetLabel($input); oLabel && oLabel.click(function(){aLink.trigger('click');}); // -> Bug here ? var aLink = $('<a href="#" class="jqTransformCheckbox"></a>'); //wrap and add the link $input.addClass('jqTransformHidden').wrap('<span class="jqTransformCheckboxWrapper"></span>').parent().prepend(aLink); //on change, change the class of the link $input.change(function(){ inputSelf.checked && aLink.addClass('jqTransformChecked') || aLink.removeClass('jqTransformChecked'); return true; }); // Click Handler, trigger the click and change event on the input aLink.click(function(){ //do nothing if the original input is disabled if($input.attr('disabled')){return false;} //trigger the envents on the input object $(this).toggleClass('jqTransformChecked'); $input.trigger('click').trigger("change"); return false; }); // set the default state this.checked && aLink.addClass('jqTransformChecked'); });
};
ありがとう