Как говорится в этом вопросе, как установить значение элемента управления DropDownList с помощью jQuery?
$("#mydropdownlist").val("thevalue");
просто убедитесь, что значение в тегах параметров соответствует значению в методе val.
Если вы работаете с индексом, вы можете напрямую установить выделенный индекс с помощью .attr():
$("#mydropdownlist").attr('selectedIndex', 0);
Это установит его в первое значение в droplist.
Edit: То, как я делал это выше, раньше работал. Но похоже, что это уже не так.
Но, как Хан так приятно отмечает в комментариях, правильный способ сделать это:
$("#mydropdownlist").get(0).selectedIndex = index_here;
select
нет атрибута с именем selectedIndex
. Это свойство объекта DOM. Следовательно, код должен быть: $("#mydropdownlist").get(0).selectedIndex = index_here;
Как было предложено @Nick Berardi, если ваше измененное значение не отражается на лицевой части интерфейса пользователя, попробуйте:
$("#mydropdownlist").val("thevalue").change();
selectmenu
не определено в моей версии jQuery, но change()
делает свое дело.
Попробуйте этот очень простой подход:
/*make sure that value is included in the options value of the dropdownlist
e.g.
(<select><option value='CA'>California</option><option value='AK'>Alaska</option> </select>)
*/
$('#mycontrolId').val(myvalue).attr("selected", "selected");
$("#mycontrolId").selectmenu('refresh');
$('#mycontrolId').selectmenu('refresh').val(myvalue).attr("selected", "selected");
?
Если вы выпадаете из раскрывающегося списка Asp.Net, то ниже код будет работать нормально,
$("#<%=DropDownName.ClientID%>")[0].selectedIndex=0;
Но если ваш DropDown выпадал в HTML, этот код будет работать.
$("#DropDownName")[0].selectedIndex=0;
Попытка:
jQuery("#availability option:selected").val();
Чтобы получить текст опции, используйте текст():
jQuery("#availability option:selected").text();
Дополнительная информация:
http://api.jquery.com/val/
http://api.jquery.com/text/
$(document).ready(function(){
$('#button1').click(function(){
alert($('#combo :selected').text());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="combo">
<option value="1">Test 1</option>
<option value="2">Test 2</option>
</select>
<input id="button1" type="button" value="Click!" />
Есть много способов сделать это. вот некоторые из них:
$("._statusDDL").val('2');
ИЛИ
$('select').prop('selectedIndex', 3);
В этой статье существуют различные способы Выбрать значение drop down с помощью JQuery.
Вот функция, позволяющая быстро установить выбранную опцию:
function SetSelected(elem, val){
$('#'+elem+' option').each(function(i,d){
// console.log('searching match for '+ elem + ' ' + d.value + ' equal to '+ val);
if($.trim(d.value).toLowerCase() == $.trim(val).toLowerCase()){
// console.log('found match for '+ elem + ' ' + d.value);
$('#'+elem).prop('selectedIndex', i);
}
});
}
Вызвать эту функцию с идентификатором элемента элемента и выбранным значением; например:
SetSelected('selectID','some option');
Это полезно, когда есть множество параметров выбора, которые нужно установить.
Если вы загрузите все <options ....></options>
по вызову Ajax
Для этого выполните следующие действия.
1). Создайте отдельный метод для установки значения раскрывающегося списка
Для Ex:
function set_ip_base_country(countryCode)
$('#country').val(countryCode)
}
2). Вызовите этот метод, когда успех ajax-вызова завершает выполнение всей задачи добавления html
Для Ex:
success: function (doc) {
.....
.....
$("#country").append('<option style="color:black;" value="' + key + '">' + value + '</option>')
set_ip_base_country(ip_base_country)
}
Я думаю, это может помочь:
$.getJSON('<%= Url.Action("GetDepartment") %>',
{ coDepartment: paramDepartment },
function(data) {
$(".autoCompleteDepartment").empty();
$(".autoCompleteDepartment").append($("<option />").val(-1));
$.each(data, function() {
$(".autoCompleteDepartment").append($("<option />").val(this.CodDepartment).text(this.DepartmentName));
});
$(".autoCompleteDepartment").val(-1);
}
);
Если вы сделаете так, добавьте элемент без текста. Итак, когда вы нажимаете на комбо, это не срабатывает, но значение -1 вы добавили позже, выбрав $( ". AutoCompleteDepartment" ). Val (-1); позволяют вам контролировать, имеет ли значение combo допустимое значение.
Надеюсь, что это поможет любому.
Извините за мой английский.