Можете дать ссылки на информацию о передаче переменных и их значений между файлами. Буду очень признателен.
|
MixPetrov,
я не могу вам помочь. |
На самом деле Вы уже очень помогли.
Скажите почему так работать не будет? В файле js $ (function () { function mathC(product_id, nmb){ var nmb = +($('input[name=\'' + product_id + '\']').val().dataset.nmb); // var ns = +this.value; //ns = ns || 0; //ns = Math.ceil(ns/nmb)*nmb; //this.value = ns var ns = +$('input[name=\'' + product_id + '\']').val(); ns = ns || 0; ns = Math.ceil(ns/nmb)*nmb; $('input[name=\'' + product_id + '\']').val(ns) } var timer; $('.quantity_cart [type="text"]').on("input", function() { window.clearTimeout(timer); timer = window.setTimeout(mathC, 1200) }) }); В файле php (firebug) <div class="quantity_cart"> <span class="minus" onclick="quantity(2, '-10', '20', '125')"><</span> <input name="2" oninput="mathC(2,10); isright(2,125,20); recalc(2);" size="2" value="20" maximum="125" quantity="125" minimum="10" data-nmb="10" type="text"> <span class="plus" onclick="quantity(2, '+10', '10', '125')">></span> </div> :thanks: Пойду азы изучать |
Цитата:
Цитата:
выберите что-то одно либо onclick, либо addEventListener, либо jquery -- лучше addEventListener |
oninput="mathC(2,10);
где 2 = <?php echo $product['product_id']; ?> - переменная product_id |
Переменные передаются округление работает, не подключается settimeout
|
Ребят, помогите объясните где не так делаю, уже в голове не то что каша а пена просто. $ (function () { function mathC(product_id, nmb){ // сюда не приходят значения product_id и nmb var nmb = +($('input[name=\'' + product_id + '\']').val().dataset.nmb); // здесь похоже не правильно var ns = +$('input[name=\'' + product_id + '\']').val(); ns = ns || 0; ns = Math.ceil(ns/nmb)*nmb; $('input[name=\'' + product_id + '\']').val(ns) } var timer; $('.quantity_cart [type="text"]').on("input", function() { window.clearTimeout(timer); timer = window.setTimeout(mathC, 1200) }) }); <div class="quantity_cart"> <input type="text" name="product_id" oninput="mathC($product_id,$nmb);" size="2" value="20" maximum="125" quantity="125" minimum="10" data-nmb="10" type="text"> </div> |
Цитата:
|
Paguo-86PK,
ему надо чтобы данные из oninput перекочевали в jquery --- все возможные решения уже даны в теме, но не помогло, тс продолжает лепить отсебятину, хаотически смешивая все варианты. |
рони,
Спасибо! нашел свою ошибку задержка срабатывает отлично. А можно ли скриптам задать порядок выполнения. скрипты в *.js выполняются первыми. Можно ли в <div class="quantity_cart"> <input type="text" name="product_id" size="2" value="20" maximum="125" quantity="125" minimum="10" data-nmb="10" type="text"> </div> указать скриптам последовательность выполнения? Что б было как то так: <input type="text" name="product_id" size="2" oninput="function(mathC);function(is);recalc(product_id)" value="20" maximum="125" quantity="125" minimum="10" data-nmb="10" type="text"> <script type="text/javascript"> $ (function () { function mathC(){ var nmb = +this.dataset.nmb; var ns = +this.value; ns = ns || 0; ns = Math.ceil(ns/nmb)*nmb; this.value = ns //alert(nmb); } var timer; $('.quantity_cart [type="text"]').on("input", function() { window.clearTimeout(timer); timer = window.setTimeout(mathC.bind(this), 1200) //alert($('.quantity_cart [type="text"]')); }) }); </script> <script type="text/javascript"> $ (function () { function is() { var maximum = +this.dataset.maximum; var minimum = +this.dataset.minimum; var ns = +this.value.replace(/\D/g, "") || 0; if (ns>maximum) ns=maximum; if (ns<minimum) ns=minimum; this.value = ns alert(maximum); } var timer; $('.quantity_cart [type="text"]').on("input", function() { window.clearTimeout(timer); timer = window.setTimeout(is.bind(this), 1400) //alert($('.quantity_cart [type="text"]')); }) }); </script> |
Часовой пояс GMT +3, время: 17:25. |