Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 23.02.2017, 14:10
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Пробовал так:
function isright(product_id, maximum) {
	var ns = +($('input[name=\'' + product_id + '\']').val().replace(/\D/g,''))||0;
	if (ns>maximum)	ns=maximum;	
        //if (ns<10)  ns=10;
	$('input[name=\'' + product_id + '\']').val(ns) }

Так:
function isright(product_id, maximum) {
	var ns = +($('input[name=\'' + product_id + '\']').val().replace(/\D/g,''))||0;
	var ms = $('input[name=\'' + product_id + '\']').val(maximum);
	if (ns>ms)	ns=ms;	
        //if (ns<10)  ns=10;
	$('input[name=\'' + product_id + '\']').val(ns) }

Так:
function isright(product_id, maximum) {
	var ns = +($('input[name=\'' + product_id + '\']').val().replace(/\D/g,''))||0;
	if (ns>$('input[name=\'' + product_id + '\']').val(maximum);)	ns=$('input[name=\'' + product_id + '\']').val(maximum);;	
        //if (ns<10)  ns=10;
	$('input[name=\'' + product_id + '\']').val(ns) }

Не получилось
Ответить с цитированием
  #12 (permalink)  
Старый 23.02.2017, 14:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

MixPetrov,
1 вариант должен работать
Ответить с цитированием
  #13 (permalink)  
Старый 23.02.2017, 14:27
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Увы(
Ответить с цитированием
  #14 (permalink)  
Старый 23.02.2017, 14:31
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

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 isright(product_id, maximum) {
  var ns = +($('input[name=\'' + product_id + '\']').val().replace(/\D/g,''))||0;
  if (ns>maximum)	ns=maximum;
        //if (ns<10)  ns=10;
  $('input[name=\'' + product_id + '\']').val(ns) }
$(function() {

   isright(1,4) //test


});
  </script>
</head>

<body>
<input name="1"  oninput="isright(1,4);" size="2" value="89998мимими" maximum="4" type="text">

</body>
</html>
Ответить с цитированием
  #15 (permalink)  
Старый 23.02.2017, 14:47
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Работает замечательно, maximum срабатывает один для всех, а как передать этот параметр для конкретного inputa?
Ответить с цитированием
  #16 (permalink)  
Старый 23.02.2017, 15:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от MixPetrov
а как передать этот параметр для конкретного inputa?
строка 27 -- в чём проблема?
Ответить с цитированием
  #17 (permalink)  
Старый 23.02.2017, 15:25
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Понял, Огромное спасибо!!! Все работает!
Ответить с цитированием
  #18 (permalink)  
Старый 24.02.2017, 11:18
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Подскажите можно ли каким то образом через событие oninput получить в округление полное значение value?
в данном случае округление срабатывает, но каждая введенная цифра округляется отдельно. К примеру при вводе 11 получается 33 т.е. первая 1 округляется до 3 и вторая единица тоже округляется до 3.
Через событие onchange работает правильно, но хотелось бы через oninput.


<!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 mathC(nmb, rnd) {
  var ns = +$('input[name=\'' + nmb + '\']').val();
  ns = ns || 0;
  ns = Math.ceil(ns/rnd)*rnd;
  $('input[name=\'' + nmb + '\']').val(ns) }
$(function() {

   mathC(1,3) //test


});
  </script>
</head>

<body>
<input name="1"  oninput="mathC(1,3);" size="2" value="1" type="text">

</body>
</html>

Последний раз редактировалось MixPetrov, 24.02.2017 в 11:25.
Ответить с цитированием
  #19 (permalink)  
Старый 24.02.2017, 11:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

MixPetrov,
можно ввести задержку, смотрите пост №6
Ответить с цитированием
  #20 (permalink)  
Старый 24.02.2017, 12:12
Аспирант
Отправить личное сообщение для MixPetrov Посмотреть профиль Найти все сообщения от MixPetrov
 
Регистрация: 12.10.2016
Сообщений: 53

Через файл *.js

$ (function	() {
	function mathC(product_id, 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.bind(this), 1200)
    })
});


Через *.php

<script type="text/javascript">
$ (function() {
$('.quantity_cart input[type="text"]').on("input", function() {
		var timer;
        window.clearTimeout(timer);
        timer = window.setTimeout(mathC.bind(this), 1200)
    })
	});
	</script>


Не срабатывает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чем ошибка применения функции borus Общие вопросы Javascript 5 19.09.2014 23:53
В чем ошибка при выводе таблицы? KamalovRadik Серверные языки и технологии 3 18.02.2012 14:30
$('[value=aaa bbb]') в чем ошибка?? iNfantry jQuery 2 31.01.2012 12:57
Ошибка вызова замыкания Андрей Параничев Общие вопросы Javascript 8 01.10.2008 21:16
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22