HTML / JS:如何使用JS更改select类型的选项值

时间:2012-01-03 17:18:39

标签: javascript html option

我一直在试图弄清楚如何在select类型中为一个选项设置一个值。但无论我多么努力理解,我都不能(感到惭愧)..

所以我希望你们能帮助我,因为你们曾经帮助过我很多次.. :)

假设我们有:

<select name="box" id="test">    
<option value='tval'>Content</option>

下一个代码不应该将文本从“内容”更改为“框”吗?

function changeContent(form){
form.document.getElementById('test').options['tval'].value = 'box';
}

或者我在这里完全错了?我查了很多不同的文章,但没有人能帮我理解如何做到这一点..

谢谢你们!

5 个答案:

答案 0 :(得分:8)

如果您需要更改文本而不是值;

function changeContent(){
     document.getElementById('test').options[0].text = 'box';
}

设置值和文本;

function changeContent(){
     var opt= document.getElementById('test').options[0];
     opt.value =  'box';
     opt.text = 'box';
}

答案 1 :(得分:1)

不,value是option元素的实际值,当用户提交表单时将发送的内容。您要访问的是选项元素的HTML,您必须使用以下内容访问它:

form.document.getElementById('test').options['tval'].innerHTML='box'

答案 2 :(得分:1)

您应该在此处使用选项的索引。 以下是工作示例http://jsfiddle.net/LaMJ9/

代码

document.getElementById('test').options[0].value = 'box'; 

修改

为jsfiddle http://jsfiddle.net/LaMJ9/1/

中的上一个和新值添加警报

答案 3 :(得分:1)

这会将值从'tval'更改为'box'

我认为你要找的是选项的内部文本。

W3CSchools.com有一个关于你在javascript中寻找什么的例子。你确实想要javascript,对吗?

http://w3schools.com/js/tryit.asp?filename=try_dom_option_settext

答案 4 :(得分:1)

删除form.部分并使用:

document.getElementById('test').options[0].innerHTML = 'box'; 

请参阅http://jsfiddle.net/hMqFE/