На сайте есть выбор размера товара, реализованный через <select>
<div class="item_sizes" >
<label>Размер:
<select name="sizes" id="sizes" class="item_sizes">
<option value="">-- выбрать --</option>
<option value="50 (L, 4)">50 (L, 4)</option>
<option value="52 (XL, 5)">52 (XL, 5)</option>
</select>
</label>
</div>
За обработку нажатия и передачу выбранного размера отвечает Javascript функция
$('.item_sizes').click(function(){
var v=$(this).val();
if(v){
$(this)
.parent()
.parent()
.parent()
.find('.button.cart')
.attr('size',v);
}
});
Выбор размера состоит минимум из двух кликов: 1 клик на item_sizes
для раскрытия списка размеров. 2 клик на нужный размер (например 52 (XL, 5)
)
Если мы используем браузер на Windows (например Chrome), то функция работает и размер передается.
Если мы используем Android, Mac или IPhone, то сразу размер не передастся, а передастся только после повторного нажатия на item_sizes
(можно нажать как на выпадающий список , так ни на слово Размеры:
) Тогда функция срабатывает заново и размер передается.
Как переписать функцию, что бы при использовании любой системы выбранный размер сразу передавался без дополнительных кликов?
Возможно, причина такого поведения кроется в отличающейся реализации выпадающих списков на мобильных платформах. Так клик по списку не является кликом по родительскому элементу, потому что список появляется отдельным элементом (по крайней мере на андроид так), поэтому лучше использовать, как Вам уже посоветовали, событие change
$('#sizes').change(function(){
var v=$(this).val();
if(v){/*...*/}
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть список URL, нужно убедиться что на всех разрешениях экрана на этих страницах не появляется горизонтальный скроллКаждая страница имеет...
Есть POST запросДля наглядности, если бы это был GET запрос, то URL выглядел бы так:
У меня есть некоторый span(вот ниже), я его заполняю через jquery, можно ли определять вид его по маске, типо если маска xxx-xxx, то текст будет:156-512?