Ответ 1
Закрыть, вы можете использовать
$('#select_2 option:selected').html()
У меня есть поле выбора с некоторыми значениями. Как получить текст выбранных опций, а не значение?
<select name="options[2]" id="select_2">
<option value="">-- Please Select --</option>
<option value="6" price="0">100</option>
<option value="7" price="0">125</option>
<option value="8" price="0">150</option>
<option value="9" price="0">175</option>
<option value="10" price="0">200</option>
<option value="3" price="0">25</option>
<option value="4" price="0">50</option>
<option value="5" price="0">75</option>
</select>
Я пробовал это:
$j(document).ready(function(){
$j("select#select_2").change(function(){
val = $j("select#select_2:selected").text();
alert(val);
});
});
Но он возвращается с undefined
.
Закрыть, вы можете использовать
$('#select_2 option:selected').html()
$(document).ready(function() {
$('select#select_2').change(function() {
var selectedText = $(this).find('option:selected').text();
alert(selectedText);
});
});
Измените селектор на
val = j$("#select_2 option:selected").text();
Вы выбираете <select>
вместо <option>
Фактически вы могли бы поместить value = в текст, а затем сделать
$j(document).ready(function(){
$j("select#select_2").change(function(){
val = $j("#select_2 option:selected").html();
alert(val);
});
});
Или то, что я сделал в аналогичном случае, было
<select name="options[2]" id="select_2" onChange="JavascriptMethod()">
with you're options here
</select>
С помощью этого второго варианта вы должны иметь undefined. Дайте мне отзыв, если он сработал:)
Патрик
Также вы можете рассмотреть этот
$('#select_2').find('option:selected').text();
который может быть немного быстрее, хотя я не уверен.