Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2012, 15:21
Интересующийся
Отправить личное сообщение для -=1100=- Посмотреть профиль Найти все сообщения от -=1100=-
 
Регистрация: 07.09.2009
Сообщений: 26

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

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


Поясню если кто не понял
Надо взять значение из input и увеличить на один
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2012, 16:05
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

$("#id_client").val(function (i, value) {
  return parseInt(value, 10)/*<- можно просто +value*/ + 1;
});
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2012, 16:30
Интересующийся
Отправить личное сообщение для -=1100=- Посмотреть профиль Найти все сообщения от -=1100=-
 
Регистрация: 07.09.2009
Сообщений: 26

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

Все рано, Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2012, 17:18
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

может так
$("#id_client")[0].value++;
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2012, 17:52
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

рассмотрим все вариации
<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>
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2012, 19:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

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

лучше сразу к Sizzle обращаться (jQuery.find).
Ответить с цитированием
  #7 (permalink)  
Старый 02.11.2012, 19:18
Аватар для vadim5june
Студент
Отправить личное сообщение для vadim5june Посмотреть профиль Найти все сообщения от vadim5june
 
Регистрация: 30.04.2012
Сообщений: 1,113

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

только это длиннее
Ответить с цитированием
  #8 (permalink)  
Старый 02.11.2012, 19:33
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

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

лучше сразу к Sizzle обращаться (jQuery.find).
я не понял о чём речь , find также метод обёртки и кроме того возвращает обёртку с набором дочерних элементов, здесь же мы находим единственный элемент, так зачем find
Ответить с цитированием
  #9 (permalink)  
Старый 02.11.2012, 20:23
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от bes
я не понял о чём речь , find также метод обёртки и кроме того возвращает обёртку с набором дочерних элементов, здесь же мы находим единственный элемент, так зачем find
не jQuery.fn.find, а jQuery.find - это поиск по селекторам Sizzle.
Ответить с цитированием
  #10 (permalink)  
Старый 03.11.2012, 10:58
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

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>

Последний раз редактировалось bes, 03.11.2012 в 15:14.
Ответить с цитированием
Ответ


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

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