|
|
Модератор форума: JonMagon |
Сообщество uCoz Вебмастеру JavaScript, Flash и прочие технологии Автоматический КЛИК на 2 элемента radio при загруз.страницы? (cheked не подходит) |
Автоматический КЛИК на 2 элемента radio при загруз.страницы? |
Цитата Нужно при загрузке двух элементов radio совершить автоматический клик по обоим элементам: на "Наличными при получении" и на "Способ доставки №1". Просто cheked здесь не подойдет ![]() Для чего это нужно? варианты оплаты и доставки меняются в зависимости от наличия товара. При переходе на следующий товар в кеше останется вариант оплаты или доставки для предыдущего товара. При автоматическом клике только на "pay-type-1" вроде все работает, а при попытке клика последовательно на два элемента уже не срабатывает. Ниже привел код: Код <h2><!--<s4452>-->Способ оплаты<!--</s>--></h2> <script type="text/javascript"> $(".order-item-other1").each( function () { if ($(this).text() == "есть в наличии") { document.write('<table width="100%" border="0" celspacing="0" celpadding="2" id="payments-list" class="methods-list"><tr valign="top"><th> <input type="radio" name="payment" value="1" class="payment-item" id="pay-type-1" onclick="shEvOrd(\'payment\',this)" checked="checked"> </th><td><label class="label" for="pay-type-1">Наличными при получении</label>Наш курьер бесплатно доставит товар до Вашего адреса в течение 1-5 дней</td></tr></table>'); document.write('<h2><!--<s4454>-->Способ доставки<!--</s>--></h2><table width="100%" border="0" celspacing="0" celpadding="2" id="delivery-list" class="methods-list"><tr valign="top"><th><input type="radio" name="delivery" value="2" class="delivery-item" id="del-type-2" onclick="shEvOrd(\'delivery\',this,1)" checked></th><td><label class="label" for="del-type-2">Способ доставки № 1</label>Наш курьер бесплатно доставит товар до Вашего адреса в течение 1-5 дней</td></tr></table>'); window.onload = function() { document.getElementById("pay-type-1").onclick(); document.getElementById("del-type-2").onclick(); } } }); </script> Прикрепления:
6994277.png
(22.5 Kb)
|
Код <h2><!--<s4452>-->Способ оплаты<!--</s>--></h2> <script type="text/javascript"> $(".order-item-other1").each( function () { if ($(this).text() == "есть в наличии") { document.write('<table width="100%" border="0" celspacing="0" celpadding="2" id="payments-list" class="methods-list"><tr valign="top"><th> <input type="checkbox" name="payment" value="1" class="payment-item" id="pay-type-1" onclick="shEvOrd(\'payment\',this)" checked="checked"> </th><td><label class="label" for="pay-type-1">Наличными при получении</label>Наш курьер бесплатно доставит товар до Вашего адреса в течение 1-5 дней</td></tr></table>'); document.write('<h2><!--<s4454>-->Способ доставки<!--</s>--></h2><table width="100%" border="0" celspacing="0" celpadding="2" id="delivery-list" class="methods-list"><tr valign="top"><th><input type="checkbox" name="delivery" value="2" class="delivery-item" id="del-type-2" onclick="shEvOrd(\'delivery\',this,1)" checked></th><td><label class="label" for="del-type-2">Способ доставки № 1</label>Наш курьер бесплатно доставит товар до Вашего адреса в течение 1-5 дней</td></tr></table>'); } }); </script> Добавлено (27 Ноя 2013, 18:20:52) jmDB - Текстовая база данных для uCoz
|
|
bulken,
Код $('#pay-type-1, #del-type-2').attr('checked','checked'); если нужен именно клик: Код $('#pay-type-1, #del-type-2').click(); Сообщение отредактировал Drinko - Среда, 27 Ноя 2013, 19:14:45
|
Народ...я точку с запятой убрал между двумя onclickами и все заработало, как так?
Код window.onload = function() { document.getElementById("pay-type-1").onclick() document.getElementById("del-type-2").onclick() } Добавлено (27 Ноя 2013, 19:49:05) Сообщение отредактировал bulken - Среда, 27 Ноя 2013, 19:28:15
|
|
bulken, а чем вам не подходитЦитата Drinko () bulken, $('#pay-type-1, #del-type-2').attr('checked','checked'); ![]() На рисунке показан предыдущий товар, где вручную выбраны способ оплаты "банковской картой" и способ доставки 2. Так вот... при переходе на текущий товар: ![]() визуально будет показано, что способ оплаты "наличными при получении" и способ доставки 1, но функционально (если не выбрать вручную) будут выбраны способ оплаты "банковской картой" и способ доставки 2. Добавлено (27 Ноя 2013, 21:02:15) Код window.onload = function() { document.getElementById("pay-type-1").onclick() document.getElementById("del-type-2").onclick() } но только на chromе Добавлено (27 Ноя 2013, 21:11:57) Прикрепления:
6229209.png
(22.7 Kb)
·
5746124.png
(22.8 Kb)
|
Что именно? Обработка событий по onClick должна выполняться. Попробуйте еще: Код $('#pay-type-1').attr('checked','checked').click(); $('#del-type-2').attr('checked','checked').click(); JQuery по умолчанию подключен на всех страницах ![]() |
Что именно? Обработка событий по onClick должна выполняться. Попробуйте еще: $('#pay-type-1').attr('checked','checked').click(); $('#del-type-2').attr('checked','checked').click(); Вроде работает!!) Но только после полной загрузки страницы. Как-то можно кликнуть сразу после того как элемент radio загрузился, а не после полной загрузки страницы. Иначе если секунд 5 не подождешь и нажмешь на "оформить заказ" может window.onload = function() и не сработать. Как крайний вариант - не показывать кнопку до полной загрузки страницы ![]() Прикрепления:
9384077.png
(58.2 Kb)
|
Ну так правильно - Вы ведь обернули все в: Код window.onload = function() { } ![]() Убираем - и будет сразу срабатывать. Другое дело, что нужно смотреть какие функции выполняются по onClick, и прогружать их ДО скрипта выполняющего клик. |
|
bulken, у Вас функция, которая должна выполняться по клику расположена ниже скрипта, который этот клик делает - естественно, что она выполняться не будет.
|
bulken, у Вас функция, которая должна выполняться по клику расположена ниже скрипта, который этот клик делает - естественно, что она выполняться не будет. Drinko, в любом случае тебе Большое Спасибо, хорошо помог! На текущий момент реализовал через : Код $(document).ready(function() { $('#pay-type-1').attr('checked','checked').click(); $('#del-type-2').attr('checked','checked').click(); };); |
| |||
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!