Używałem wielu pluginów, które mogą ułatwić mi życie przy obsłudze inputów, szczególnie checkboxów i radio buttonów. Jednym z najlepszych pluginów, których używałem jest ScrewDefaultButtons.
Zacząłem od tego:
<li>
<label for="ch01">Lorem ipsum dolor</label>
<input type="checkbox" id="ch01">
</li>
Gdy plugin został wywołany na tym elemencie kodem:
$('.product_filters input[type="checkbox"]').screwDefaultButtons({
image: 'url("checkbox_sprite.png")',
width: 15,
height: 15
});
Element label jest nieaktywny. Oznacza to, że nie możesz zmienić wartości checkboxa opisanego jako atrybut for klikając na label. Więc trochę zmieniłem strukturę:
Uncaught RangeError: Maximum call stack size exceeded
Problem został rozwiązany prostym rozwiązaniem - usunięciem atrybutu for w label.
<li>
<label>Lorem ipsum dolor
<input type="checkbox" id="ch01"/>
</label>
</li>




