2013-08-13 4 views
0

У меня есть кнопка, которая при щелчке должна получить значение выбранного элемента со списком. Например, если у меня есть следующие комбо и кнопки:Получить поле со списком выбранного значения

<select id="client-sort-type"> 
    <option></option> 
    <option>Name</option> 
    <option>Recent</option> 
</select> 

<button id="client-sort-submit" type="button">Sort</button> 

Я хочу что-то вроде ...

<script type="text/javascript"> 
    $("#client-sort-submit").click(function() { 
     var val = $("#client-sort-type").attr("value"); 
     window.location.href = "Project/Index/" + val; 
    }); 
</script> 

Только это не работает, он всегда ничего не возвращает. Помогите?

+1

[ссылка] (http://stackoverflow.com/questions/1643227/get-selected- text-from-dropdownlist-using-jquery) У этого вопроса есть ответ, который вы ищете. – Ellesedil

+0

Ваша разметка неправильная, пожалуйста, проверьте мой ответ. – Sergio

ответ

0

Вместо

val = $("#client-sort-type").attr("value"); 

использование

val = $("#client-sort-type").val(); 
1

Ну для начала вы должны иметь value= в вашем <options>, в противном случае он может генерировать нежелательное поведение.

Использование<option value="somevalue" >Name</option>

Если вы хотите получить значение с помощью Jquery вы должны использовать:

$("#client-sort-type").val(); // this will give you "somevalue" 

Если вы хотите, чтобы получить текст выбранного использования опции:

$("#client-sort-type option:selected").text(); // This will give you "Name" 

Читать разницу между this и this, если вы держите свой HTML, как это, то лучше использовать .text()