2013-08-19 17 views
0

與其他的代碼替換選項的代碼,我有一個下拉列表使用選項指數

<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輸出。

我有什麼SOFAR不工作是:

document.getElementsByTagName('select')[0] 
     .innerHTML.replace('<option value="1" disabled>apple</option>') 

回答

0

你可以使用jQuery和選擇器來找到你的列表框$( '#myListBox')VAL()。你可以很容易地通過$('#myListBox')。val(「new value」)來改變這個值。

您也可以輕鬆地遍歷選項列表並做任何你想做的事情。

$("#id option").each(function() 
{ 
    // add $(this).val() to your list 
}); 
0

這個怎麼樣?

var sel = document.getElementsByTagName('select')[0]; 
sel.innerHTML = sel.innerHTML.replace('Förbundsledning', 'apple'); 

http://jsfiddle.net/VxhvF/

0

document.getElementsByTagName('select')[0].options[1].text="apple"

[1]是你的選擇項目的索引。 0 = Beredskap,1 =Förbundsledning。

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"); 

見樣本:http://jsfiddle.net/sm94N/

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";  
    } 
}