Можете дать ссылки на информацию о передаче переменных и их значений между файлами. Буду очень признателен.
|
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, время: 11:19. |