是否可以在下拉列表被禁用时使用Javascript更改下拉列表中的值

时间:2017-11-02 17:18:11

标签: javascript c# drop-down-menu

我有一个网络表单,我在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语句中放置了一个警报,并且每次都会显示这些值是明确选择的。

我想我是否想知道我是否能够更改已停用的下拉菜单的价值?如果我是,那为什么代码不起作用?

2 个答案:

答案 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;
	}