Answers:
$("#mydropdownlist").val("thevalue");
只需确保options标记中的值与val方法中的值匹配即可。
$("#mycontrolId").selectmenu('refresh');
以反映变化
如果使用索引,则可以直接使用.attr()设置所选索引:
$("#mydropdownlist").attr('selectedIndex', 0);
这会将其设置为下拉列表中的第一个值。
编辑: 我做上面的方式曾经工作。但似乎不再。
但是正如Han在评论中愉快地指出的那样,正确的做法是:
$("#mydropdownlist").get(0).selectedIndex = index_here;
select
tag没有名为的任何属性selectedIndex
。而是DOM对象的属性。因此,代码应为:$("#mydropdownlist").get(0).selectedIndex = index_here;
$("#mydropdownlist").prop('selectedIndex', index_here);
也可以。
根据@Nick Berardi的建议,如果您更改的值未反映在UI前端,请尝试:
$("#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");
?
问题的最佳答案:
$("#comboboxid").val(yourvalue).trigger("chosen:updated");
例如:
$("#CityID").val(20).trigger("chosen:updated");
要么
$("#CityID").val("chicago").trigger("chosen:updated");
设置值和更新下拉列表事件
$("#id").val("1234").change();
有很多方法可以做到这一点。这里是其中的一些:
$("._statusDDL").val('2');
要么
$('select').prop('selectedIndex', 3);
我认为这可能会有所帮助:
$.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);
}
);
如果这样做,您将添加没有文本的元素。因此,当您单击“组合”时,它不会出现,但是您使用$(“。autoCompleteDepartment”)。val(-1);之后添加了值-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');
当要设置许多选择选项时,此功能很有用。
如果<options ....></options>
通过Ajax调用加载所有内容,请
按照以下步骤进行操作。
1)。
为Ex 的下拉菜单设置值创建单独的方法:
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)
}
设置drop-down
selected
值并更新更改
$("#PR2DistrictId option[value='@Model.PR2DistrictId']").attr("selected", true).trigger("chosen:updated")
在这里,我们首先从中设置值,Model
然后根据选定值进行更新
//下拉列表的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>
//如果您想使用javascript将所选项目更改为test2。试试这个。//设置您要选择的下一个选项
var NewOprionValue = "Test2"
var RemoveSelected = $("#MyDropDownList")[0].innerHTML.replace('selected', '');
var ChangeSelected = RemoveSelected.replace(NewOption, NewOption + 'selected>');
$('#MyDropDownList').html(ChangeSelected);
使用上面突出显示/选中的答案对我有用...这是一些见解。我在获取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>
对于使用Bootstrap的人,请使用$(#elementId').selectpicker('val','elementValue')
代替$('#elementId').val('elementValue')
,因为后者不会更新UI中的值。
注意:.change()
如上文在某些答案中建议的那样,即使函数也可以工作,但是会触发$('#elementId').change(function(){ //do something })
函数。
只是将其发布在那里,供以后引用该线程的人们使用。