Javascript 按值选择项
我有 我想要一个javascript函数,使我能够通过id选择并显示默认值。换句话说,我想要执行setOption5和,将值5作为默认值显示在组合框中Javascript 按值选择项,javascript,html,option,Javascript,Html,Option,我有 我想要一个javascript函数,使我能够通过id选择并显示默认值。换句话说,我想要执行setOption5和,将值5作为默认值显示在组合框中 这可能吗?您甚至不需要javascript参与,只需使用所选属性: <select id="x"> <option value="5">hi</option> <option value="7">hi 2</option> </select> 如果可以,使用
这可能吗?您甚至不需要javascript参与,只需使用所选属性:
<select id="x">
<option value="5">hi</option>
<option value="7">hi 2</option>
</select>
如果可以,使用ES6
<select id="x">
<option value="5" selected>hi</option>
<option value="7">hi 2</option>
</select>
……否则
function setOption(selectElement, value) {
return [...selectElement.options].some((option, index) => {
if (option.value == value) {
selectElement.selectedIndex = index;
return true;
}
});
}
如果返回false,则无法找到该值:如果您使用的是jQuery 1.6或更高版本
function setOption(selectElement, value) {
var options = selectElement.options;
for (var i = 0, optionsLength = options.length; i < optionsLength; i++) {
if (options[i].value == value) {
selectElement.selectedIndex = i;
return true;
}
}
return false;
}
setOption(document.getElementById('my-select'), 'b');
使用Javascript:
$('#x option[value="5"]').prop('selected', true)
如果有人在寻找jquery解决方案,请使用val函数
document.getElementById('drpSelectSourceLibrary').value = 'Seven';
在Javascript中
$("#select").val(valueToBeSelected);
所以我遇到了这个问题,我想我应该提供一些解决方案 单选最简单的方法就是设置select的值:
document.getElementById("select").value = valueToBeSelected;
您也可以按值获取所选选项,方法相同:
var mySelect = document.getElementById( 'my-select-id' );
mySelect.value = 7;
我想要的是一个更好的方法来设置多选的值。。。但事实证明,您似乎必须循环使用这些选项,并将它们设置为某种for循环:
演示:您尝试了什么?您甚至不需要javascript。你有什么理由需要在客户端完成吗?@fifigyuri-为什么没有?我可以想出几个原因,这可能是有用的。顺便说一句,如果jQuery是一个选项,那么它就简单到$'x'.val'5'@Kobi显然有这样的原因,但如果没有,为什么不从解决方案中删除javascript呢?对于我来说,这个问题并不是很清楚,javascript真的有那么重要。参考本文:实际上,我要求javascript代码能够编辑选中的对象attrib@Ronan是 啊但这正是@fifigyuri要表达的观点:除非这是为了响应客户端的用户操作,否则没有理由使用JavaScript函数来实现这一点;i
console.log( mySelect.value );
function setMultiSelectValues( select, values ) {
for (var i = 0; i < select.options.length; i++) {
var option = select.options[i];
if ( values.includes( option.value ) ) {
option.selected = true;
}
}
}
var mySelect = document.getElementById( 'my-select-id' );
var myValues = [ 'option-1', 'option-5' ];
setMultiSelect( mySelect , values );