2015-12-22 71 views
0

我有一個不是我的網頁,但我想獲取SELECT元素的值。如何在Javascript的SELECT元素中設置或選擇一個選項

例如:

<select name="ctl00$MainContent$CldFecha$DdlAnio" id="DdlAnio" class="calendarCombo2" onchange="ValidateYear();" style="width: 60px; display: none;" sb="83980340"> 
    <option value="2011">2011</option> 
    <option value="2012">2012</option> 
    <option value="2013">2013</option> 
    <option value="2014">2014</option> 
    <option selected="selected" value="2015">2015</option> 

當我點擊一個按鈕,我想設置任何的這個選項,例如2013年

我知道怎麼去選擇的值,這樣做:

document.getElementById('DdlAnio').value 

併爲獲得所選擇的指標:

document.getElementById('DdlAnio').selectedIndex 

不過,我以爲基於W3Schools的,這些可能工作設置選項想:

document.getElementById('DdlAnio').value = "2013" 
document.getElementById('DdlAnio').selectedIndex = "2" 

但什麼也沒有發生,我在做什麼錯?

此外,我試着用:

document.getElementById('DdlAnio').options[DdlAnio.selectedIndex].value = 2013 

並沒有任何反應

+0

也許會改變你的風格'style =「... display:none;」'因爲它沒有顯示出來。 –

回答

1

我會建議通過表單名稱和元素的名稱來解決。或通過getElementById()

function setOption1() { 
 
    document.form1['ctl00$MainContent$CldFecha$DdlAnio'].selectedIndex = 2; 
 
} 
 

 
function setOption2() { 
 
    document.getElementById('DdlAnio').selectedIndex = 2; 
 
}
<form name="form1"> 
 
    <select name="ctl00$MainContent$CldFecha$DdlAnio" id="DdlAnio"> 
 
     <option value="2011">2011</option> 
 
     <option value="2012">2012</option> 
 
     <option value="2013">2013</option> 
 
     <option value="2014">2014</option> 
 
     <option selected="selected" value="2015">2015</option> 
 
    </select> 
 
    <button onclick="setOption1()">setOption1</button> 
 
    <button onclick="setOption2()">setOption2</button> 
 
</form>

0

document.getElementById('DdlAnio').value = '2013';應該工作。

嘗試暫時刪除onchange="ValidateYear();"(不知道它實際做了什麼)。

0

您的網頁上創建一個按鈕

<input type="button" onclick="setSelectTo('2012');" value="set year"/> 

爲按鈕取值,這可以通過選擇框的選項進行迭代,並設置選定的指數創建onclick處理程序。

function setSelectTo(yr) { 
    var selList = document.getElementById('DdlAnio'); 
    for (var i=0; i<selList.options.length; i++) { 
     if (selList.options[i].value == yr) { 
       selList.selectedIndex = i; 
       break; 
     } 
    } 
} 
0

是的你是對的!我做了一個simulacra,複製這部分代碼,我看到這個:display:none。控制不出現。但是當我刪除時,我可以使用任何想要的值SELECT

現在,我該如何修改這個CSS屬性?我打算設置像這樣的屬性:

Document.GetElementbyID('DdlAnio').setAttribute ('style','style=width:60px) 

爲了只保留該屬性。所以在做完這些之後,我可以使用任何值SELECT。對??

+0

其他人和其他論壇建議修改自變量。這樣對嗎?? –

+0

事實上,我測試了它,我正在測試的網頁有CSS樣式隱藏的選擇控件,並且已經繪製了控件。當我重新分配屬性時,控件變得可見:document.getElementById('DdlAnio')。setAttribute('style','width:80px')因此,在此之後,當我嘗試在下一行中選擇索引時,它不起作用,並且不會再出現 –

相關問題