我有一个下拉列表
<select name="answers[0][]">
<option value="0" >Beredskap</option>
<option value="1" >Förbundsledning</option>
<option value="2" >Förbundsledning stab</option>
<option value="3" >Ekonomiavdelningen</option>
</select>
我要求的是获取值getElementsByTagName('select')[1]
,然后将其替换为
<option value="1" disabled >Förbundsledning</option>
原因是列表是自动生成的,所以我需要修改html输出。
我有什么不起作用的是:
document.getElementsByTagName('select')[0]
.innerHTML.replace('<option value="1" disabled>apple</option>')
答案 0 :(得分:1)
值为1的选项恰好位于代码中的索引1处,如果始终是其他答案而不是此答案的情况。
如果您不知道生成的选项的顺序,因此不知道要更改的选项的索引,则取决于您是要根据值更改文本还是原文。
你可以这样做:
var options = document.getElementsByTagName("option");
for(var e = 0; e < options.length; e++) {
//change by text
if (options[e].text == "Apple") {
options[e].text = "Förbundsledning";
}
//change by value
if (options[e].value == "1") {
options[e].text = "Förbundsledning";
}
}
答案 1 :(得分:0)
您可以使用jQuery和选择器来查找列表框$('#myListBox')。val();
您可以通过$('#myListBox')轻松更改值.val(“new value”);
您还可以轻松地遍历选项列表并执行任何操作。
$("#id option").each(function()
{
// add $(this).val() to your list
});
答案 2 :(得分:0)
这个怎么样?
var sel = document.getElementsByTagName('select')[0];
sel.innerHTML = sel.innerHTML.replace('Förbundsledning', 'apple');
答案 3 :(得分:0)
document.getElementsByTagName('select')[0].options[1].text="apple"
[1]
是您的选项的索引。 0 = Beredskap,1 =Förbundsledning。
答案 4 :(得分:0)
使用功能;
function select_text_replace(option_text, replace_text) {
var el = document.getElementsByTagName('select')[0];
el.innerHTML = el.innerHTML.replace(option_text, replace_text);
};
select_text_replace("Förbundsledning", "apple");
select_text_replace("Ekonomiavdelningen", "apple2");