I have option menu like this:
我有这样的选项菜单:
<form name="AddAndEdit">
<select name="list" id="personlist">
<option value="11">Person1</option>
<option value="27">Person2</option>
<option value="17">Person3</option>
<option value="10">Person4</option>
<option value="7">Person5</option>
<option value="32">Person6</option>
<option value="18">Person7</option>
<option value="29">Person8</option>
<option value="28">Person9</option>
<option value="34">Person10</option>
<option value="12">Person11</option>
<option value="19">Person12</option>
</select>
</form>
And now I want to change the selected option by using an href. For example:
现在我想通过使用href更改所选选项。例如:
<a href="javascript:void(0);"
onclick="document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected';">change</a>
But I want to select the option with value=11 (Person1)
, not Person12
.
但是我想选择value = 11(Person1)的选项,而不是Person12。
How do I change this code?
我该如何更改此代码?
6 个解决方案
#1
147
Change
更改
document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected'
to
至
document.getElementById('personlist').value=Person_ID;
#2
21
Here are all the tools as pure JavaScript code for handling Selectbox:
以下是用于处理Selectbox的纯JavaScript代码的所有工具:
提琴手演示
JavaScript Code:
JavaScript代码:
/**
* Empty Select Box
* @param eid Element ID
* @param value text
* @param text text
* @author Neeraj.Singh
*/
function emptySelectBoxById(eid, value, text) {
document.getElementById(eid).innerHTML = "<option value='" + value + "'>" + text + "</option>";
}
/**
* Reset Select Box
* @param eid Element ID
*/
function resetSelectBoxById(eid) {
document.getElementById(eid).options[0].selected = 'selected';
}
/**
* Set Select Box Selection By Index
* @param eid Element ID
* @param eindx Element Index
*/
function setSelectBoxByIndex(eid, eindx) {
document.getElementById(eid).getElementsByTagName('option')[eindx].selected = 'selected';
//or
document.getElementById(eid).options[eindx].selected = 'selected';
}
/**
* Set Select Box Selection By Value
* @param eid Element ID
* @param eval Element Index
*/
function setSelectBoxByValue(eid, eval) {
document.getElementById(eid).value = eval;
}
/**
* Set Select Box Selection By Text
* @param eid Element ID
* @param eval Element Index
*/
function setSelectBoxByText(eid, etxt) {
var eid = document.getElementById(eid);
for (var i = 0; i < eid.options.length; ++i) {
if (eid.options[i].text === etxt)
eid.options[i].selected = true;
}
}
/**
* Get Select Box Text By ID
* @param eid Element ID
* @return string
*/
function getSelectBoxText(eid) {
return document.getElementById(eid).options[document.getElementById(eid).selectedIndex].text;
}
/**
* Get Select Box Value By ID
* @param eid Element ID
* @return string
*/
function getSelectBoxValue(id) {
return document.getElementById(id).options[document.getElementById(id).selectedIndex].value;
}
#3
20
I believe that the blog post JavaScript Beginners – Select a dropdown option by value might help you.
我相信博客发布JavaScript初学者 - 按值选择下拉选项可能会对您有所帮助。
<a href="javascript:void(0);" onclick="selectItemByValue(document.getElementById('personlist'),11)">change</a>
function selectItemByValue(elmnt, value){
for(var i=0; i < elmnt.options.length; i++)
{
if(elmnt.options[i].value === value) {
elmnt.selectedIndex = i;
break;
}
}
}
#4
14
You could also change select.options.selectedIndex DOM attribute like this:
您还可以像这样更改select.options.selectedIndex DOM属性:
function selectOption(index){
document.getElementById("select_id").options.selectedIndex = index;
}
<p>
<select id="select_id">
<option selected>first option</option>
<option>second option</option>
<option>third option</option>
</select>
</p>
<p>
<button onclick="selectOption(0);">Select first option</button>
<button onclick="selectOption(1);">Select second option</button>
<button onclick="selectOption(2);">Select third option</button>
</p>
#5
4
mySelect.value = myValue
mySelect.value = myValue
Just do mySelect.value = myValue
where myValue equals the value attribute of the option you want to set it to.
只需执行mySelect.value = myValue,其中myValue等于您要将其设置为的选项的value属性。
#6
1
An array Index will start from 0. If you want value=11 (Person1), you will get it with position getElementsByTagName('option')[10].selected
.
数组索引将从0开始。如果你想要value = 11(Person1),你将获得位置getElementsByTagName('option')[10] .selected。
#1
147
Change
更改
document.getElementById('personlist').getElementsByTagName('option')[11].selected = 'selected'
to
至
document.getElementById('personlist').value=Person_ID;
#2
21
Here are all the tools as pure JavaScript code for handling Selectbox:
以下是用于处理Selectbox的纯JavaScript代码的所有工具:
提琴手演示
JavaScript Code:
JavaScript代码:
/**
* Empty Select Box
* @param eid Element ID
* @param value text
* @param text text
* @author Neeraj.Singh
*/
function emptySelectBoxById(eid, value, text) {
document.getElementById(eid).innerHTML = "<option value='" + value + "'>" + text + "</option>";
}
/**
* Reset Select Box
* @param eid Element ID
*/
function resetSelectBoxById(eid) {
document.getElementById(eid).options[0].selected = 'selected';
}
/**
* Set Select Box Selection By Index
* @param eid Element ID
* @param eindx Element Index
*/
function setSelectBoxByIndex(eid, eindx) {
document.getElementById(eid).getElementsByTagName('option')[eindx].selected = 'selected';
//or
document.getElementById(eid).options[eindx].selected = 'selected';
}
/**
* Set Select Box Selection By Value
* @param eid Element ID
* @param eval Element Index
*/
function setSelectBoxByValue(eid, eval) {
document.getElementById(eid).value = eval;
}
/**
* Set Select Box Selection By Text
* @param eid Element ID
* @param eval Element Index
*/
function setSelectBoxByText(eid, etxt) {
var eid = document.getElementById(eid);
for (var i = 0; i < eid.options.length; ++i) {
if (eid.options[i].text === etxt)
eid.options[i].selected = true;
}
}
/**
* Get Select Box Text By ID
* @param eid Element ID
* @return string
*/
function getSelectBoxText(eid) {
return document.getElementById(eid).options[document.getElementById(eid).selectedIndex].text;
}
/**
* Get Select Box Value By ID
* @param eid Element ID
* @return string
*/
function getSelectBoxValue(id) {
return document.getElementById(id).options[document.getElementById(id).selectedIndex].value;
}
#3
20
I believe that the blog post JavaScript Beginners – Select a dropdown option by value might help you.
我相信博客发布JavaScript初学者 - 按值选择下拉选项可能会对您有所帮助。
<a href="javascript:void(0);" onclick="selectItemByValue(document.getElementById('personlist'),11)">change</a>
function selectItemByValue(elmnt, value){
for(var i=0; i < elmnt.options.length; i++)
{
if(elmnt.options[i].value === value) {
elmnt.selectedIndex = i;
break;
}
}
}
#4
14
You could also change select.options.selectedIndex DOM attribute like this:
您还可以像这样更改select.options.selectedIndex DOM属性:
function selectOption(index){
document.getElementById("select_id").options.selectedIndex = index;
}
<p>
<select id="select_id">
<option selected>first option</option>
<option>second option</option>
<option>third option</option>
</select>
</p>
<p>
<button onclick="selectOption(0);">Select first option</button>
<button onclick="selectOption(1);">Select second option</button>
<button onclick="selectOption(2);">Select third option</button>
</p>
#5
4
mySelect.value = myValue
mySelect.value = myValue
Just do mySelect.value = myValue
where myValue equals the value attribute of the option you want to set it to.
只需执行mySelect.value = myValue,其中myValue等于您要将其设置为的选项的value属性。
#6
1
An array Index will start from 0. If you want value=11 (Person1), you will get it with position getElementsByTagName('option')[10].selected
.
数组索引将从0开始。如果你想要value = 11(Person1),你将获得位置getElementsByTagName('option')[10] .selected。