2011-01-08 37 views
3

我在我的aspx頁面上有下拉列表。我想手動設置下拉列表中存在的選定值。這個值我在var。我想在頁面初始化時將此值設置爲選定值。我想要在JavaScript中。是否有任何屬性下拉爲ddp.SelectedValue = '40'..?這裏我不知道列表中的40的索引。如何在javascript中下拉值的索引?

回答

6

selectedIndex是HTMLSelectElement的屬性,所以你可以做到以下幾點:

<select id="foo"><option>Zero<option>One<option>Two</select> 
<script> 
document.getElementById('foo').selectedIndex = 1; // Selects option "One" 
</script> 

並給出選項元素,你可以使用index財產其索引得到:

<select><option>Zero<option id="bar">One<option>Two</select> 
<script> 
alert(document.getElementById('bar').index); // alerts "1" 
</script> 
+0

不,我想按照我的例子得到40的索引。如何得到它? – 2011-01-08 12:48:47

+0

@Lalit,我不確定自己的理解,但我更新了帖子,以解釋如何從選項轉到其索引。鑑於字符串「40」,你想要該選項的索引與該值?或者給定數字40,你想要那個索引的選項嗎? – 2011-01-08 13:00:54

6

我想手動設置所選值

反覆調整select的選項列表以獲得option你有興趣,並設置其selected

var options= document.getElementById('ddp').options; 
for (var i= 0; n= options.length; i<n; i++) { 
    if (options[i].value==='40') { 
     options[i].selected= true; 
     break; 
    } 
} 

這將選擇具有匹配值的第一個選項。如果您有多個具有相同值或多個選項的選項,則可能需要不同的邏輯。

此:

document.getElementById('ddp').value= '40'; 

由HTML5規定做同樣的,在大多數現代瀏覽器已經工作了年齡,但在IE中,遺憾的是(甚至IE9)仍然失敗。

3
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery 1.6.2.min.js" /> 
<script language="JavaScript"> 
    $(function() { 
     quickSelect(); 
     // Handler for .ready() called. 
    }); 
    function quickSelect() { 
     var bnd = "40"; 
     if (bnd != "") { 
      $("#ddp option[value='" + bnd + "']").attr("selected", "selected"); 
     } 
    } 
</script> 
相關問題