Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение value элемента несколько раз (https://javascript.ru/forum/jquery/47687-izmenenie-value-ehlementa-neskolko-raz.html)

Jetro 03.06.2014 17:26

Изменение value элемента несколько раз
 
На странице имеется кнопка. Хочу сделать чтобы при нажатии кнопки её value менялся, а при повторном нажатии возвращался обратно.
Один раз изменить value проще простого, но вот и еще раз...

Набросал вот такой вот ужас:
<input class="test" type="submit" value="1">

<script>
$('.test').click(function(){
	if ($('.test').value = "1")
	{
		$('.test').val("2");
	}
	else
	{
		$('.test').val("1");
	}
});
</script>


При однократном нажатии на кнопку текст меняется, при повторном нет.

рони 03.06.2014 18:00

Jetro,
5 строка - 2 ошибки

Jetro 03.06.2014 18:35

Думаю первая ошибка это "=" вместо "==", верно? Изначально у меня было именно "==", но тут вообще странная вещь творилась - на двойку текст менялся только в случае "!=". Возможно это из-за второй ошибки... Пост планировал написать с двумя знаками равно, но забыл подправить.
А вот вторую ошибку не вижу. Есть только одна мысль - вместо "$('.test').value" должно быть "$('.test').val()", больше вариантов предложить не могу. Если предложение верно, то ситуации это не меняло, пробовал.

рони 03.06.2014 19:21

Jetro,
и что у вас неработает это?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
   $(function ()
{
    $('.test').click(function(){
	if ($('.test').val() == "1")
	{
		$('.test').val("2");
	}
	else
	{
		$('.test').val("1");
	}
});
})
  </script>
</head>

<body>
  <input class="test" type="submit" value="1">
</body>

</html>

Jetro 04.06.2014 11:19

Чудеса какие-то - код скопипастил, и он заработал. Но до этого работать отказывался, дошло до того, что я пытался решить проблему методом научного тыка...
Спасибо.


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