egg*_*egg 6 html javascript html-select
要<input>使用 JavaScript设置元素的数据,我们像这样分配该元素的值和名称:
var form = document.createElement("form");
var element = document.createElement("input");
element.value=value;
element.name=name;
Run Code Online (Sandbox Code Playgroud)
在的情况下<select>,其中的multiple属性存在,我怎么设置选择元素的值?例如,我将如何设置myselect下面元素的值:
<form method="post" action="/post/" name="myform">
<select multiple name="myselect" id="myselect">
<option value="1">option1</option>
<option value="2">option2</option>
...
Run Code Online (Sandbox Code Playgroud)
我试图通过这样做来设置值,myselect.value=[1,2]但它不起作用。选择后option1,option2我预计它会返回[1,2],但它只返回“1”。
小智 7
有用
var element = document.getElementById('selectMultiple');
// Set Values
var values = ["Gold", "Bronze"];
for (var i = 0; i < element.options.length; i++) {
element.options[i].selected = values.indexOf(element.options[i].value) >= 0;
}
// Get Value
var selectedItens = Array.from(element.selectedOptions)
.map(option => option.value)
spanSelectedItens.innerHTML = selectedItensRun Code Online (Sandbox Code Playgroud)
<select name='selectMultiple' id="selectMultiple" multiple>
<option value="Gold">Gold</option>
<option value="Silver">Silver</option>
<option value="Bronze">Bronze</option>
</select>
<br />
Selected: <span id="spanSelectedItens"></span>Run Code Online (Sandbox Code Playgroud)
要在多选中以编程方式设置多个值选项,您需要手动selected向<option>要选择的元素添加属性。
一种方法如下:
const select = document.getElementById('myselect')
const selectValues = [1, 2];
/* Iterate options of select element */
for (const option of document.querySelectorAll('#myselect option')) {
/* Parse value to integer */
const value = Number.parseInt(option.value);
/* If option value contained in values, set selected attribute */
if (selectValues.indexOf(value) !== -1) {
option.setAttribute('selected', 'selected');
}
/* Otherwise ensure no selected attribute on option */
else {
option.removeAttribute('selected');
}
}Run Code Online (Sandbox Code Playgroud)
<select multiple name="myselect" id="myselect">
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
</select>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10811 次 |
| 最近记录: |