我是在asp.net中使用Javascript的新手,我对此代码有疑问。
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>item 1</asp:ListItem>
<asp:ListItem>item 2</asp:ListItem>
<asp:ListItem>item 3</asp:ListItem>
<asp:ListItem>item 4</asp:ListItem>
<asp:ListItem>item 5</asp:ListItem>
<asp:ListItem></asp:ListItem>
</asp:DropDownList>
<script type="text/javascript">
function setSelectedIndex(s, i) {
s.value[i - 1].selected = true;
return;
}
setSelectedIndex(document.getElementById("DropDownList1"), 5);
</script>
任何人都可以帮助我。
感谢。
答案 0 :(得分:1)
这是DEMO。以下是您需要做的事情:
<select ID="DropDownList1">
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
<option>item 4</option>
<option>item 5</option>
</select>
<script type="text/javascript">
function setSelectedIndex(s, i) {
console.log(s, i);
s.selectedIndex = (i-1);
//s.value[i - 1].selected = true;
return;
}
setSelectedIndex(document.getElementById("DropDownList1"), 5);
</script>
答案 1 :(得分:0)
您需要访问元素变量options
上的s
属性而不是值。
此外,如果它仍然无法正常工作,请确保浏览器上的元素ID DropDownList1
也相同。在渲染时,它有一个健康的机会略微修改。在这种情况下,您应该通过其CSS类名称选择元素,或者尝试以某种方式将下拉列表(DropDownList1.ClientID
)的客户端ID传递给您的JS代码。
function setSelectedIndex(s, i) {
s.options[i - 1].selected = true;
return;
}
setSelectedIndex(document.getElementById("DropDownList1"), 5);
&#13;
<select ID="DropDownList1" runat="server">
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
<option>item 4</option>
<option>item 5</option>
<option></option>
</select>
&#13;
答案 2 :(得分:0)
您也可以
document.getElementById("DropDownList1").selectedIndex = i -1 ;