Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   $("#id").val() и ++ (https://javascript.ru/forum/jquery/32883-%24-id-val-i.html)

-=1100=- 02.11.2012 15:21

$("#id").val() и ++
 
Добрый день.
jQuery изучаю недавно, по этому поводу хотел спросить как сделать ниже приведенный скрипт "красивым"

var vv = $("#id_client").val();
                vv++;
                $("#id_client").val(vv);


Поясню если кто не понял
Надо взять значение из input и увеличить на один

melky 02.11.2012 16:05

$("#id_client").val(function (i, value) {
  return parseInt(value, 10)/*<- можно просто +value*/ + 1;
});

-=1100=- 02.11.2012 16:30

Да уж...
Я думал код будет короче.

Все рано, Спасибо!

vadim5june 02.11.2012 17:18

может так
$("#id_client")[0].value++;

bes 02.11.2012 17:52

рассмотрим все вариации :)
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<input id="id_client" value="3">
<script>
jQuery(function ($) {
	alert('++');
	$("#id_client").val(+$("#id_client").val() + 1);
});
</script>

melky 02.11.2012 19:10

bes и vadim5june, зачем вам обёртка в виде jQuery(), если вы всё равно обращаетесь к элементам напрямую?

лучше сразу к Sizzle обращаться (jQuery.find).

vadim5june 02.11.2012 19:18

Цитата:

Сообщение от melky
vadim5june, зачем вам обёртка в виде jQuery(), если вы всё равно обращаетесь к элементам напрямую?

можно и так
document.getElementById('id_client').value++

только это длиннее

bes 02.11.2012 19:33

Цитата:

Сообщение от melky
зачем вам обёртка в виде jQuery(), если вы всё равно обращаетесь к элементам напрямую?

лучше сразу к Sizzle обращаться (jQuery.find).

я не понял о чём речь :) , find также метод обёртки и кроме того возвращает обёртку с набором дочерних элементов, здесь же мы находим единственный элемент, так зачем find

melky 02.11.2012 20:23

Цитата:

Сообщение от bes
я не понял о чём речь , find также метод обёртки и кроме того возвращает обёртку с набором дочерних элементов, здесь же мы находим единственный элемент, так зачем find

не jQuery.fn.find, а jQuery.find - это поиск по селекторам Sizzle.

bes 03.11.2012 10:58

melky, как это работает? ссылку на элемент получаем, как обратиться к value
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<input id="id_client" value="3">
<script>
jQuery(function ($) {
	var el = $.find("#id_client");
	alert(el + '\n' + el.value);
	el = $.find("#id_client")[0];
	alert(el + '\n' + el.value);
});
</script>


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