Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить значение select с помощью this (https://javascript.ru/forum/jquery/68616-poluchit-znachenie-select-s-pomoshhyu.html)

kupidon 27.04.2017 07:28

Получить значение select с помощью this
 
Доброго дня. Имеется несколько полей с выпадающим списком
Как получить значение selectа используя this. (конечно же при изменении списка)

#order_state = выпадающий список

Если использую $("#order_state").val(); то все работает
а если $(this).val() - то ошибка

Мне надо именно с this :(

ksa 27.04.2017 08:43

kupidon, есть такое понятие - тестовый пример.

Ты его должен сделать и выложить тут. На нем будет видно чего ты делаешь не так. Так же можно будет показать как это сделать иначе.

kupidon 27.04.2017 12:25

Не знаю как привязать чтобы скрипт тоже выполнялся...

Вообщем задача такая: нужно меняя значение на одной, чтобы такое же значение становилось на второй. На которой меняем используем this, добываем значение и прописываем это значение обеим selectам уже ИСПОЛЬЗУЯ их идентификаторы. Все это в одной функции.

<select id="order_state" onchange="javascript:change_purchase_state();" autocomplete="off">
<option value="0" selected > Новый заказ</option>
<option value="1"> Зафиксировано</option>
<option value="2"> Включено в счет</option>              
</select>
<select id="order000_state" onchange="javascript:change_purchase_state();" autocomplete="off">
<option value="0"> Новый заказ</option>
<option value="1" selected > Зафиксировано</option>
<option value="2"> Включено в счет</option>     
</select>

<script>
function change_purchase_state(){
 var pur_state_new = $("#order_state").val();
 alert (pur_state_new );
}
</script>

ksa 27.04.2017 13:55

Цитата:

Сообщение от kupidon
onchange="javascript:...;"

Это масло масляное... Приписывать javascript: при таком "навешивании" события не нужно. :no:

Если ты потом используешь жиКвери, зачем так "навешивать" события? При таком "навешивании" у тебя нет никакого this... :no:

kupidon 27.04.2017 14:01

подскажите пожалуйста как сделать правильно? я не очень силен в этом, только учусь :(

laimas 27.04.2017 14:06

onchange="change_purchase_state(this)"

function change_purchase_state(o) {
    alert (o.value);
}

ksa 27.04.2017 14:15

Цитата:

Сообщение от kupidon
нужно меняя значение на одной, чтобы такое же значение становилось на второй

Как вариант...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	$('select').change(function(){
		$('select:not("#'+this.id+'")').val(this.value);
	});
});
</script>
</head>
<body>
<select id="order_state" autocomplete="off">
	<option value="0" selected > Новый заказ</option>
	<option value="1"> Зафиксировано</option>
	<option value="2"> Включено в счет</option>              
</select>
<select id="order000_state" autocomplete="off">
	<option value="0"> Новый заказ</option>
	<option value="1" selected > Зафиксировано</option>
	<option value="2"> Включено в счет</option>     
</select>
</body>
</html>

kupidon 28.04.2017 05:00

Теперь понял свои ошибки. Спасибо огромное. !!!


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