2013-10-12 36 views
-2

下面我的代码:更改选项内容与纯JavaScript

<select> 
    <option value="1">Test</option> 
    <option value="2">Test2</option> 
</select> 

如何使用纯JavaScript跨浏览器的第一个“测试”,第二个“Test2的”改变?

+0

仅更改文本或多个属性? – DevlshOne

+4

@Thew为什么有人会提出jQuery,甚至可以想象最小的用例呢?使用纯粹的JavaScript既不差也不天真。 – ComFreek

+1

@Thew这个问题是关于使用jQuery选择一个选项,而不是改变选项的文本。 – Barmar

回答

1

可以解决这样的问题:

HTML

<select id="myOptions"> 
    <option value="1">Test</option> 
    <option value="2">Test2</option> 
</select> 

的Javascript

function change() { 
    document.getElementById('myOptions').options[0].innerHTML = "New Text"; 
    document.getElementById('myOptions').options[1].innerHTML = "New Text 2"; 

} 

change(); 

而且,这里是您使用来验证演示:

DEMO

http://jsfiddle.net/kBd79/

+0

是的,这应该工作。 – ncm

-1

你可以只改变<option>标签

+1

-1 - 是的你是对的,但最难的部分是:怎么样? – ncm

2

使用optionsselect元素的innerHTML(我给的someSelect您选择一个ID为这个演示:

function alterSelect() { 
    var select = document.getElementById("someSelect"); 
    for (var i = 0; i < select.options.length; i++) { 
     select.options[i].text = "New stuff " + i; 
    } 
} 

这将取代每个选项text with:New stuff number - 其中number是for循环的迭代次数。参见demo:http://jsfiddle.net/4PyGC/

+0

是的,这是有效的。 – ncm