Не добавляется атрибут checked
Доброго времени суток, дорогие жители форума. Нужна ваша помощь.
Собственно сабж: Делаю магазин на OpenCart, страница оформления заказа (стоит модуль упрощенного оформления заказа). Есть 2 псевдо выпадающих списка <div class="order_list_delivery order_list order_input"> <div class="delivey_title">Форма доставки</div> <img src="catalog/view/theme/default/img/arrow_list.png" alt="" class="arrow_list"/> <div class="choose"> <div id="ordervalone" class="order_input delivey">Новая почта</div> <div id="ordervaltoo" class="order_input delivey">Самовывоз з офиса по Киеву</div> <div id="ordervalthree" class="order_input delivey">Куръерская доставка по Киеву</div> </div> </div> <div class="order_list_pay order_list order_input"> <div class="pay_title">Форма оплаты</div> <img src="catalog/view/theme/default/img/arrow_list.png" alt="" class="arrow_list"/> <div class="choose"> <div id="orderlistone" class="order_input pay">Наличными курьеру</div> <div id="orderlisttoo" class="order_input pay">Наложенным платежом</div> </div> </div> Есть стандартные чекбоксы <div class="shipping-content" style="display: block"> <?php if(count($shipping_methods) > 1) { ?> <p><?php echo $text_shipping_method; ?></p> <table class="form"> <?php foreach($shipping_methods as $shipping_method) { ?> <?php if(!$shipping_method['error']) { ?> <?php foreach($shipping_method['quote'] as $quote) { ?> <tr> <td style="width: 1px;"><?php if($quote['code'] == $shipping_code || !$shipping_code) { ?> <?php $shipping_code = $quote['code']; ?> <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" class="shippinghk"/> <?php } else { ?> <input type="radio" name="shipping_method" value="<?php echo $quote['code']; ?>" id="<?php echo $quote['code']; ?>" class="shippinghk"/> <?php } ?></td> <td><label for="<?php echo $quote['code']; ?>"><?php echo $quote['title']; ?></label> </td> </tr> <?php } ?> <?php } else { ?> <tr> <td colspan="3"> <div class="error"><?php echo $shipping_method['error']; ?></div> </td> </tr> <?php } ?> <?php } ?> </table> <?php } else if ($shipping_methods) { ?> <?php $shipping_method = array_shift($shipping_methods);?> <p><?php echo $text_shipping_method; ?></p> <table class="form"> <tr> <td colspan="3"><b><?php echo $shipping_method['title']; ?></b></td> <?php foreach($shipping_method['quote'] as $quote) { ?> <td><label><?php echo $quote['title']; ?></label></td> <td style="text-align: right;"><label><?php echo $quote['text']; ?></label></td> <?php }?> </tr> </table> <?php } else { ?> <?php }?> </div> И чекбоксы оплаты (код находиться в отдельном файле) <?php if($payment_methods) { ?> <p><?php echo $text_payment_method; ?></p> <table class="radio"> <?php foreach($payment_methods as $payment_method) { ?> <tr class="highlight"> <td><?php if($payment_method['code'] == $payment_code || !$payment_code) { ?> <?php $code = $payment_method['code']; ?> <input type="radio" name="payment_method" value="<?php echo $payment_method['code']; ?>" id="<?php echo $payment_method['code']; ?>" class="paymenthk"/> <?php } else { ?> <input type="radio" name="payment_method" value="<?php echo $payment_method['code']; ?>" id="<?php echo $payment_method['code']; ?>" class="paymenthk" checked="checked"/> <?php } ?></td> <td><label for="<?php echo $payment_method['code']; ?>"><?php echo $payment_method['title']; ?></label></td> </tr> <?php } ?> </table> <br/> <?php } ?> <div class="payment"> <?php echo $payment?> </div> Соединяется все это jQuery $(document).ready(function() { $('#ordervalone').click(function(){ $("input[name=shipping_method]").prop("checked", false); $(".shippinghk").eq(0).attr("checked",true); }); $('#ordervaltoo').click(function(){ $("input[name=shipping_method]").prop("checked", false); $(".shippinghk").eq(1).attr("checked",true); }); $('#ordervalthree').click(function(){ $("input[name=shipping_method]").prop("checked", false); $(".shippinghk").eq(2).attr("checked",true); }); $('#orderlistone').click(function(){ $("input[name=payment_method]").prop("checked", false); $(".paymenthk").eq(0).attr("checked",true); }); $('#orderlisttoo').click(function(){ $("input[name=payment_method]").prop("checked", false); $(".paymenthk").eq(0).attr("checked",true); }); }); А теперь к сути, форма доставки работает как нужно. Форма оплаты, визуально выделят чекбокс, но вне зависимости от выбора, в заказ передается "Наличными курьеру".. Есть идеи почему первый блок работает, а второй нет?! |
Takasu,
У Вас кривой формат записи селекторов: $("input[name=shipping_method]") Нуно так: $("input[name='shipping_method']") |
Не помогает :(
|
Takasu,
Дайте ссылку на тестовую онлайн страницу |
|
Takasu,
Ошибка в скрипте ниже $('input[name="payment_method"]').live('change', function() { $(".checkout-product").mask(); $.ajax({ url: 'index.php?route=checkout/checkout/change_payment', type: 'post', data: 'payment_code='+$("input[name='payment_method']:checked").val(), dataType: 'json', success: function(json) { if (json.payment){ $(".payment").html(json.payment); } $(".checkout-product").unmask(); } }); }); Опять же с кавыками Имхо есть и еще подобные ошибки в иной секции инпутов |
Deff,
Нет, дело даже не в этом. |
Takasu,
Ни наю, удаляю данный скрипт со страницы - состояние чекитов - отображается |
Deff,
А у меня все по старому) |
Часовой пояс GMT +3, время: 03:33. |