|
В чем ошибка
Значение через
$('input[name=\'' + product_id + '\']').val()
получается, а вот изменение и подстановка не нового значения в value не выполняется.
function isright(product_id) {
var ns = $('input[name=\'' + product_id + '\']').val().value.replace(/\D/g,'')||0;
if (ns>50) ns=$('input[name=\'' + product_id + '\']').val(50);
if (ns<10) ns=$('input[name=\'' + product_id + '\']').val(10);
$('input[name=\'' + product_id + '\']').val() = ns
}
|
MixPetrov,
http://api.jquery.com/val/ |
MixPetrov,
:(
function isright(product_id) {
var ns = +($('input[name=\'' + product_id + '\']').val().replace(/\D/g,''))||0;
if (ns>50) ns=50;
if (ns<10) ns=10;
$('input[name=\'' + product_id + '\']').val(ns) }
|
Спасибо огромное!
А вот почему происходит следующее: при вводе допустим 15 выпадает сразу 50. |
MixPetrov,
проверьте пост №3 снова |
MixPetrov,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function() {
function isright() {
var ns = +this.value.replace(/\D/g, "") || 0;
if (ns > 50) ns = 50;
if (ns < 10) ns = 10;
this.value = ns
}
var timer;
$(".num").on("input", function() {
window.clearTimeout(timer);
timer = window.setTimeout(isright.bind(this), 1200)
})
});
</script>
</head>
<body>
<input class="num">
<input class="num">
</body>
</html>
|
В общем проблема в том, не происходит сброс в валуе в ноль и автоматом считает что вводишь не 15, а 1015.
Но если убрать нижний предел то все отлично. Еще раз спасибо. И еще маленький вопрос если в php в div class'e в value задать атрибут maximum передастся ли он параметром в функцию "function isright(product_id), maximum"? |
MixPetrov,
не понимаю, но лучше использовать input type=number c min и max |
Лучше, но в данном случае надо через input type=text.
По "И еще маленький вопрос...." Сам input <input name="1" oninput="isright(1); recalc(1);" size="2" value="1" maximum="4" type="text"> <input name="2" oninput="isright(2); recalc(2);" size="2" value="1" maximum="125" type="text"> <input name="3" oninput="isright(3); recalc(3);" size="2" value="1" maximum="76" type="text"> maximum="4" = maximum="<?php echo $product['quantity']; ?>" Предастся ли maximum="4" в код js через параметр функции "function isright(product_id, maximum) {...} ? Или как передать значение maximum? |
MixPetrov,
да |
| Часовой пояс GMT +3, время: 00:08. |
|