Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   передать значение из input (https://javascript.ru/forum/misc/50518-peredat-znachenie-iz-input.html)

irbees2008 29.09.2014 20:53

передать значение из input
 
Приветствую,возникла потребность чтобы передать значение value
из этого input
<span class="minus">-</span><input name="count" type="text" maxlength="5" style="width: 35px;" value="1"/><span class="plus">+</span>

В input в значение 'count':1
<input type="button" value="Добавить в корзину" onclick="rpcBasketRequest('plugin.basket.manage', {'action': 'add', 'ds':1,'id':{news-id},'count':1}); return false;">

весь код такой
<style type="text/css">
		span {cursor:pointer; }
		.number{
			margin:100px 30%;
		}
		.minus, .plus{
			width:12px;
			height:12px;
			background:#f2f2f2;
			padding:3px 5px 3px 5px;
			border:1px solid #ddd;
		}
		
	</style>
	<script type="text/javascript" >
		$(document).ready(function() {
			$('.minus').click(function () {
				var $input = $(this).parent().find('input');
				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');
				$input.val(parseInt($input.val()) + 1);
				$input.change();
				return false;
			});
		});
	</script>

   <p><span class="minus">-</span><input name="count" type="text" maxlength="5" style="width: 35px;" value="1"/><span class="plus">+</span></p>
   <p><input type="button" value="Добавить в корзину" onclick="rpcBasketRequest('plugin.basket.manage', {'action': 'add', 'ds':1,'id':{news-id},'count':1}); return false;"></p>

здесь можно глянуть как примерно должно быть http://liv.ngcmshak.ru/dekorativnye-...yi-vypusk.html

Dim@ 30.09.2014 15:31

может вам так не подойдёт, но не проще ли будет повесить ф-ю на onclick через JS, а не HTML, например:
<style type="text/css">
		span {cursor:pointer; }
		.number{
			margin:100px 30%;
		}
		.minus, .plus{
			width:12px;
			height:12px;
			background:#f2f2f2;
			padding:3px 5px 3px 5px;
			border:1px solid #ddd;
		}
		
	</style>
	<script type="text/javascript" >
          var count = 1;
		$(document).ready(function() {
			$('.minus').click(function () {
				var $input = $(this).parent().find('input');
				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');
				$input.val(parseInt($input.val()) + 1);
               count = $input.val();
				$input.change();
				return false;
			});
                  $("#some").click(function () {
                        rpcBasketRequest('plugin.basket.manage', {'action': 'add', 'ds':1,'id':{news-id},'count':count}); return false;
                        });
		});
	</script>

   <p><span class="minus">-</span><input name="count" type="text" maxlength="5" style="width: 35px;" value="1"/><span class="plus">+</span></p>
   <p><input type="button" value="Добавить в корзину" id="some"></p>

irbees2008 02.10.2014 21:06

Спасибо,то что надо,как сам не додумался

kostyanet 04.10.2014 18:25

count = parseInt($input.val()) - 1;


Вроде же проходят арифметику в школе. Капец... Тут надо записать в минус значение -1, а в плюс значение 1. И тогда одним методом будет все крутиться в обе стороны.

b=-1;
a=10;
console.log(a+b);
//9

ундерстенд?

kostyanet 04.10.2014 18:32

count = count < 1 ? 1 : count;


Еще вот так делайте:

count = Math.max(count, 1);

Соответственно на +

count = Math.min(count, 1000);

И вообще, этот number еще не все браузеры освоили?

Кстати, знаете как в Кореле сделано (есть такая тупейшая прога для векторных дизайнеров) там можно мышой накручивать значение очень быстро - ставишь мышь в поле и не отпуская кнопки тянешь: вверх - накручивается, вниз - скручивается. Специально для тех у кого клавиасины нет.


Часовой пояс GMT +3, время: 07:50.