Не добавляется атрибут 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, время: 02:29. |