Вход

Просмотр полной версии : Получение значения SELECT


karden
24.02.2016, 17:06
Добрый день.

Выдержка из кода:


<select id="ObjectSensorsAddList">
<option value="1">First</option>
<option value="2">Second</option>
</select>

<script>

$( "#ObjectSensorsAddList" ).selectmenu();

$( "#ObjectSensorsAddList" ).change(function() {
alert( "Handler for .change() called. Value="+...... );
});
</script>


Не работает alert.
На сколько я понимаю, вызвав .selectmenu(); мой SELECT (тот у которого я прописал ID) уже вообще не участвует в коде и надо как-то иначе обращаться к другому объекту. Собственно не понятно как следствие как вытащить value из этой конструкции.

Спасибо

рони
24.02.2016, 17:49
karden,
http://api.jqueryui.com/selectmenu/#event-change

Decode
24.02.2016, 17:50
$('#ObjectSensorsAddList').change(function() {
var value = $(this).children(':selected').val();

alert( "Handler for .change() called. Value = " + value);
});

рони
24.02.2016, 17:55
karden,
<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>selectmenu demo</title>

<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">

<style>

label { display: block; }

select { width: 200px; }

</style>

<script src="http://code.jquery.com/jquery-1.10.2.js"></script>

<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

</head>

<body>



<label for="speed">Select a speed:</label>

<select name="speed" id="speed">

<option value="Slower">Slower</option>

<option value="Slow">Slow</option>

<option value="Medium" selected>Medium</option>

<option value="Fast">Fast</option>

<option value="Faster">Faster</option>

</select>



<script>

$( "#speed" ).selectmenu({change: function( event, ui ) {alert(ui.item.value)}});

</script>



</body>

</html>

laimas
24.02.2016, 17:55
var value = $(this).children(':selected').val();

А зачем, значением самого списка как раз и является значение выбранной опции.

рони
24.02.2016, 17:58
Decode,
селектор кастомизирован, события change при изменении программно не возникнет, либо специально тригерить в плагине, либо использовать возможности плагина

karden
24.02.2016, 17:59
Спасибо. Понял куда копать. Думаю, что сейчас все прикручу.