正如问题所说,我如何使用jQuery设置DropDownList控件的值?
如果你用索引工作,你可以直接用.attr()设置所选的索引。
$("#mydropdownlist").attr('selectedIndex', 0);
这将把它设置为droplist中的第一个值。
编辑: 我上面的方法以前是有效的。但现在看来,它不再起作用了。
但正如Han在评论中愉快地指出的那样,正确的方法是。
$("#mydropdownlist").get(0).selectedIndex = index_here;
试试这个非常简单的方法。
/*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");
该问题的最佳答案:。
$("#comboboxid").val(yourvalue).trigger("chosen:updated");
例如:
$("#CityID").val(20).trigger("chosen:updated");
$("#CityID").val(20).trigger("chosen:updated");
或
$("#CityID").val("chicago").trigger("chosen:updated");
有很多方法可以做到这一点。 下面是其中的一些方法。
$("._statusDDL").val('2');
或
$('select').prop('selectedIndex', 3);
尝试:
jQuery("#availability option:selected").val();
或者使用text()获取选项的文本:。
jQuery("#availability option:selected").text();
更多信息:
http://api.jquery.com/val/
http://api.jquery.com/text/
<!--开始片段。 js hide.false --> -- begin snippet: js hide: false -->
$(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!" />
<!--结束片段-->
我想这可能会有帮助。
$.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);
}
);
如果你这样做,你会添加一个没有文本的元素。 所以,当你点击de combo时,它不会出现,但你添加的值-1后来选择与$(".autoCompleteDepartment").val(-1)。 让你控制组合是否有有效值。
希望对大家有所帮助。
对不起,我的英语。
这里有一个快速设置所选选项的功能。
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);
}
});
}
调用这个函数,参数为元素id和选择的值。 像这样。
SetSelected('selectID','some option');
当有很多选择项需要设置时,它很有用。
设置 "下拉""选择 "值,并更新更改。
$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")
在这里,我们首先从 "模型 "中设置值,然后在所选的模型上更新它。
//下拉列表的HTML格式。
<select id="MyDropDownList">
<option value=test1 selected>test1</option>
<option value=test2>test2</option>
<option value=test3>test3</option>
<option value=test4>test4</option>
var NewOprionValue = "Test2"
var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', '');
var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>');
$('#MyDropDownList').html(ChangeSelected);
通过Ajax调用
/options>加载所有
<options...>`时,请按照以下步骤操作。
按照以下步骤进行。
1). 创建一个单独的方法来设置下拉的值<br>。 例如:{{{5412574}}:
function set_ip_base_country(countryCode)
$('#country').val(countryCode)
}
2). 当ajax调用成功时调用本方法,所有html追加任务完成。
对于出。
success: function (doc) {
.....
.....
$("#country").append('<option style="color:black;" value="' + key + '">' + value + '</option>')
set_ip_base_country(ip_base_country)
}
使用上面的高亮/勾选的答案对我有用......。 这里'是一个小的见解。 我在获取URL时作了点小弊,但基本上我'在Javascript中定义了URL,然后通过上面的jquery答案来设置它。
<select id="select" onChange="window.location.href=this.value">
<option value="">Select a task </option>
<option value="http://127.0.0.1:5000/choose_form/1">Task 1</option>
<option value="http://127.0.0.1:5000/choose_form/2">Task 2</option>
<option value="http://127.0.0.1:5000/choose_form/3">Task 3</option>
<option value="http://127.0.0.1:5000/choose_form/4">Task 4</option>
<option value="http://127.0.0.1:5000/choose_form/5">Task 5</option>
<option value="http://127.0.0.1:5000/choose_form/6">Task 6</option>
<option value="http://127.0.0.1:5000/choose_form/7">Task 7</option>
<option value="http://127.0.0.1:5000/choose_form/8">Task 8</option>
</select>
<script>
var pathArray = window.location.pathname.split( '/' );
var selectedItem = "http://127.0.0.1:5000/" + pathArray[1] + "/" + pathArray[2];
var trimmedItem = selectedItem.trim();
$("#select").val(trimmedItem);
</script>