Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.06.2015, 03:44
Аватар для Takasu
Интересующийся
Отправить личное сообщение для Takasu Посмотреть профиль Найти все сообщения от Takasu
 
Регистрация: 02.06.2015
Сообщений: 11

Не добавляется атрибут 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);
    });
});

А теперь к сути, форма доставки работает как нужно.
Форма оплаты, визуально выделят чекбокс, но вне зависимости от выбора, в заказ передается "Наличными курьеру"..
Есть идеи почему первый блок работает, а второй нет?!
Ответить с цитированием
  #2 (permalink)  
Старый 18.06.2015, 02:57
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Takasu,
У Вас кривой формат записи селекторов:
$("input[name=shipping_method]")
Нуно так:
$("input[name='shipping_method']")
Ответить с цитированием
  #3 (permalink)  
Старый 19.06.2015, 16:31
Аватар для Takasu
Интересующийся
Отправить личное сообщение для Takasu Посмотреть профиль Найти все сообщения от Takasu
 
Регистрация: 02.06.2015
Сообщений: 11

Не помогает
Ответить с цитированием
  #4 (permalink)  
Старый 19.06.2015, 21:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Takasu,
Дайте ссылку на тестовую онлайн страницу
Ответить с цитированием
  #5 (permalink)  
Старый 20.06.2015, 14:32
Аватар для Takasu
Интересующийся
Отправить личное сообщение для Takasu Посмотреть профиль Найти все сообщения от Takasu
 
Регистрация: 02.06.2015
Сообщений: 11

http://takasu.pp.ua/index.php?route=checkout/checkout
Ответить с цитированием
  #6 (permalink)  
Старый 20.06.2015, 17:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

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();
			}
		});
	});

Опять же с кавыками

Имхо есть и еще подобные ошибки в иной секции инпутов
Ответить с цитированием
  #7 (permalink)  
Старый 22.06.2015, 00:47
Аватар для Takasu
Интересующийся
Отправить личное сообщение для Takasu Посмотреть профиль Найти все сообщения от Takasu
 
Регистрация: 02.06.2015
Сообщений: 11

Deff,
Нет, дело даже не в этом.
Ответить с цитированием
  #8 (permalink)  
Старый 22.06.2015, 01:27
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Takasu,
Ни наю, удаляю данный скрипт со страницы - состояние чекитов - отображается
Ответить с цитированием
  #9 (permalink)  
Старый 22.06.2015, 06:06
Аватар для Takasu
Интересующийся
Отправить личное сообщение для Takasu Посмотреть профиль Найти все сообщения от Takasu
 
Регистрация: 02.06.2015
Сообщений: 11

Deff,
А у меня все по старому)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сменить атрибут у тега img lifecom jQuery 2 03.09.2013 16:52
Помогите пожалуйста с radio проверить на checked Solonik Общие вопросы Javascript 1 23.07.2013 22:35
как После того как radio checked запустить ajax? Андрей Лебедев Events/DOM/Window 3 09.02.2013 18:10
После события checked запустить ajax, выходит: Сначала ajax потом checked??? Андрей Лебедев Элементы интерфейса 0 09.02.2013 13:07
Атрибут "jQuery<циферки>" и IE psu jQuery 6 18.05.2009 11:55