Val Опубликовано 14 ноября, 2012 Жалоба Поделиться Опубликовано 14 ноября, 2012 Добрый день!Помогите новичку Нужно в корзине поле количество товаров Select заменить на InputСпасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 Доброе время суток! тоже интересует вопрос! Хотя бы понять на сколько это сложно! Цитата Ссылка на сообщение Поделиться на другие сайты
Val Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 Сделал так заменил в шаблоне cart.tpl {* Количество *} <td class="amount"> <select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();"> {section name=amounts start=1 loop=$purchase->variant->stock+1 step=1} <option value="{$smarty.section.amounts.index}" {if $purchase->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option> {/section} </select> </td>на{* Количество *} <td class="amount"> <input class="input_sm" type="text" name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();" value="{$purchase->amount}"> </td>Больше, вроде, ничего не менял.Пока полет нормальный Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 4 апреля, 2013 Жалоба Поделиться Опубликовано 4 апреля, 2013 Гений)) Спасибо тебе огромное! Цитата Ссылка на сообщение Поделиться на другие сайты
Val Опубликовано 4 апреля, 2013 Автор Жалоба Поделиться Опубликовано 4 апреля, 2013 рад помочь Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 Привет! Ребята есть вопрос! Есть какие либо идеи поповоду того что бы цена менялась до нажатия энтр! тоесть когда в инпут только загнал 2 или 3,,, сразу же подщитовалась бы цена, реально такое?Спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Kasha Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 реально, делали многие такое. в свойства инпата вводишь onchange="название функции" и функцию обновления собственно. и всё Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 вариант на jquery ) $('input.input_sm').keyup(function () { $('.pricee').html($('.price').html() * $('input.input_sm').attr('value')); }); Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 22 апреля, 2013 Жалоба Поделиться Опубликовано 22 апреля, 2013 {* Количество *} <td class="amount"> <input class="input_sm" type="text" name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();" value="{$purchase->amount}"> <input class="bolwe" type="hidden" value="{($purchase->variant->stock)}"> </td> {* Цена *} <td class="pricee"> {($purchase->variant->price*$purchase->amount)} </td> Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 вариант на jquery ) $('input.input_sm').keyup(function () { $('.pricee').html($('.price').html() * $('input.input_sm').attr('value')); });Обновление по какой-то причине не происходит (только по нажатию Enter). Ваш код не изменял, прописал в точности как в комментариях. Поможете? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 Уважаемый, давайте ссылку на сайт... Иначе кто вас знает, что вы там накуролесили))) Экстрасенсов я здесь не видел. Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 Обновление по какой-то причине не происходит (только по нажатию Enter). Ваш код не изменял, прописал в точности как в комментариях. Поможете? ДаваЙ! надо бы глянуть твой карт тпл! Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 Ребята у меня вот такая незадача! я все сделал без обновления, НО , у меня в корзине ввод количества идет через input и когда я ввел количество ничего не поменялось но когда кликаю мышкой за пределами inputa только тут работает Ajax Вот код помогите ПОЖАЛУЙСТА кто шарит ! {literal} <script type="text/javascript"> function update_cart(variant_id,amount) { $.ajax({ url: "ajax/cart_update.php", data: {'variant_id':variant_id,'amount':amount}, success: function(data){ if(data){ $('#cart_informer').html(data.informer); $('#total_products').html(data.total_products); $('#total_price').html(data.total_price); $('#total_cost_'+variant_id).html(data.total_cost); } } }); } </script> {/literal} {* Количество *} <td class="amount"> <input class="k" type="text" name="amounts[{$purchase->variant->id}]" onchange="update_cart('{$purchase->variant->id}',$(this).val());" value="{$purchase->amount}"> </td> {* Цена *} <td class="pricee" id="total_cost_{$purchase->variant->id}"> {($purchase->variant->price*$purchase->amount)} </td> Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 А он так и должен работать... А как по другому? Если надо набрать 20, то он что, должен срабатывать после двойки? :-) Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 24 апреля, 2013 Жалоба Поделиться Опубликовано 24 апреля, 2013 А он так и должен работать... А как по другому? Если надо набрать 20, то он что, должен срабатывать после двойки? :-) Хотелось бы получить динамический пересчёт по keyup... Это было бы здорово. Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 25 апреля, 2013 Жалоба Поделиться Опубликовано 25 апреля, 2013 Проснулся таже идея появилась) но не все так гладко! оно что то изредка меняет, но совсем не в тему! Цитата Ссылка на сообщение Поделиться на другие сайты
Marshal Опубликовано 25 апреля, 2013 Жалоба Поделиться Опубликовано 25 апреля, 2013 А он так и должен работать... А как по другому? Если надо набрать 20, то он что, должен срабатывать после двойки? :-) Именно так ! Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 25 апреля, 2013 Жалоба Поделиться Опубликовано 25 апреля, 2013 В принципе, можно добавить кнопку "Обновить корзину" или перед иконкой удаления вставить что-то типа этого: . Только вот незадача: скрипт срабатывает на клике в любом месте после изменения значения в input, а нужно чтобы срабатывал по конкретному запросу. Как сделать? Цитата Ссылка на сообщение Поделиться на другие сайты
Brigadir Опубликовано 25 апреля, 2013 Жалоба Поделиться Опубликовано 25 апреля, 2013 При этом, обновление должно произойти по всем позициям одновременно. Цитата Ссылка на сообщение Поделиться на другие сайты
1129976 Опубликовано 20 мая, 2014 Жалоба Поделиться Опубликовано 20 мая, 2014 вариант на jquery ) $('input.input_sm').keyup(function () { $('.pricee').html($('.price').html() * $('input.input_sm').attr('value')); }); Куда вот это надо вставить? Цитата Ссылка на сообщение Поделиться на другие сайты
Vanger Опубликовано 26 июня, 2015 Жалоба Поделиться Опубликовано 26 июня, 2015 (изменено) а если этот вариант допилить? рипал с одного сайтачто-то мешает блин (или вывод цены не так идёт c пробелами, что в итоге выдает NaN, или выбор доставки не так подтягивает данные - Uncaught ReferenceError: select_delivery_method is not defined) {literal}<script> function amChange(id, action) { var value = $('#cnt_'+id).val()-0; if(isNaN(value)) value=0; if(action == 'minus') { if(value == 0) { $('#'+id).val(value); return; } value--; } else if(action == 'plus') value++; $('#cnt_'+id).val(value); $.post('index.php', {vid:id, amount:$('#cnt_'+id).val()}); var price = $('#price_'+id).text()-0; var sum=price*value; $('#summ_'+id).html('<b>'+sum.toFixed(2)+'</b>'); var total = 0; var summ; $('[id^="summ_"]').each(function() { total+=($(this).text()-0); }); $('#total_summ').text(total.toFixed(2)); select_delivery_method($('[id^=delivery_radio_]:checked').val()); } </script>{/literal} <a href="javascript:amChange('{$purchase->variant->id}','minus')" class="plus-minus">-</a> <input id="cnt_{$purchase->variant->id}" name="amount" type="text" value="1" maxlength="2" class="tovar_input" onChange="amChange({$purchase->variant->id}, 'set')"/> <a href="javascript:amChange('{$purchase->variant->id}','plus')" class="plus-minus">+</a> Изменено 26 июня, 2015 пользователем Vanger Цитата Ссылка на сообщение Поделиться на другие сайты
gansito Опубликовано 1 февраля, 2017 Жалоба Поделиться Опубликовано 1 февраля, 2017 Сделал так заменил в шаблоне cart.tpl {* Количество *} <td class="amount"> <select name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();"> {section name=amounts start=1 loop=$purchase->variant->stock+1 step=1} <option value="{$smarty.section.amounts.index}" {if $purchase->amount==$smarty.section.amounts.index}selected{/if}>{$smarty.section.amounts.index} {$settings->units}</option> {/section} </select> </td>на {* Количество *} <td class="amount"> <input class="input_sm" type="text" name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();" value="{$purchase->amount}"> </td>Больше, вроде, ничего не менял.Пока полет нормальный Отлично работает, подскажите как сделать изменение количества с кнопками + - ? <input type=button value="–"><input class="input_sm" type="text" name="amounts[{$purchase->variant->id}]" onchange="document.cart.submit();" value="{$purchase->amount}"><input type=button value="+"> куда копать? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 1 февраля, 2017 Жалоба Поделиться Опубликовано 1 февраля, 2017 Копать однозначно в сторону джаваскрипта))Если у вас получается менять значение, но при этом не сабмитится форма - копайте в сторону .trigger('change') Цитата Ссылка на сообщение Поделиться на другие сайты
gansito Опубликовано 10 февраля, 2017 Жалоба Поделиться Опубликовано 10 февраля, 2017 Копать однозначно в сторону джаваскрипта))Если у вас получается менять значение, но при этом не сабмитится форма - копайте в сторону .trigger('change') решил с + / - таким образом, кому надо решение cart.tpl <span class="minus">-</span><input class="value" type="text" name="amounts[{$purchase->variant->id}]" value="{$purchase->amount}" onchange="document.cart.submit();" data-ratio="1" ><span class="plus">+</span> <script type="text/javascript" > $(document).ready(function() { $('.minus').click(function () { var $input = $(this).parent().find('input.value'); var count = parseInt($input.val()) - 1; count = count < 1 ? 1 : count; $input.val(count); $input.change(); return false; }); $('.plus').click(function () { var $input = $(this).parent().find('input.value'); $input.val(parseInt($input.val()) + 1); $input.change(); return false; }); }); </script> Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.