我有一个网络表单,我在C#中禁用了页面加载的下拉列表。
下拉列表将始终处于禁用状态,仅当用户进行某个选择时,我才想更改下拉列表中的值。是或否。
这是我的Javascript代码:
var drpModeNeed = document.getElementById("drpAssessID"); //This dropdown is
//where I'm looking to change the value (it is disabled)
var drp4Val = (document.getElementById('<%=drp4ID.ClientID %>').value);
var drp14Val = (document.getElementById('<%=drp14ID.ClientID %>').value);
var drp15Val = (document.getElementById('<%=drp15ID.ClientID %>').value);
if (drp4Val == 1 || (drp14Val == 1 && drp15Val == 1))
{
//trying to change the value here of dropdown
}
这是我在if语句中尝试的内容
drpModeNeed.options[drpModeNeed.selectedIndex].value == 1;
但没有任何反应。我确信它肯定能够识别这些陈述,因为我已经在IF语句中放置了一个警报,并且每次都会显示这些值是明确选择的。
我想我是否想知道我是否能够更改已停用的下拉菜单的价值?如果我是,那为什么代码不起作用?
答案 0 :(得分:1)
要更新<select>
元素的有效值,您不需要设置.value
的{{1}},而是将<option>
属性设置为{{ 1}}(或任何真实的价值):
.selected
请注意,如果true
元素设置了drpModeNeed.options[1].selected = true;
属性,则发布封闭的<select>
将不会将该值发送到服务器。浏览器假定应该忽略禁用的元素。
答案 1 :(得分:1)
它对我有用:
.NavBar
function changeValue(newValue){
var drpModeNeed = document.getElementById("drpAssessID");
drpModeNeed.value=newValue;
}