Problem z jqTransform i selektami

Chcąc ułatwić sobie pracę i upiększyć nieco formularze najłątwiej wykożystać świetny plugin jQuery jqTransform.

O ile jqTransform załatwia nam sprawę wyglądu inputów, checkboxów i innych buttonów związanych z formularzami, o tyle psuje nieco zachowanie samego przesyłania danych przez samo jquery przez co selekty nie przesyłają poprawnych informacji o przesyłanych danych.

Udało mi się znaleźć skuteczne rozwiązanie problemu na stronie bloga Roberta Dusty gdzie możemy znaleźć skuteczną metodę na rozwiązanie problemu.

Otwieramy źródłowy plik jquery.jqtransform.js i odszukujemy linię:

/* Fire the onchange event */

Interesuje nas warunek:

if ($select[0].selectedIndex != $(this).attr('index') && $select[0].onchange) {
$select[0].selectedIndex = $(this).attr('index');
$select[0].onchange();
}

który modyfikujemy w następujący sposób:

if ($select[0].selectedIndex != $(this).attr('index')) {
$select[0].selectedIndex = $(this).attr('index');
$($select[0]).trigger('change');
}

Teraz zapisujemy nową wersję pliku i mamy problem z głowy…

Źródło: http://www.dustyroberts.co.za/2011/06/jqtransform-option-change-not-firing.html

Dzięki Robert :)

Leave a Reply