我有一个下拉列表,根据复选框点击启用/禁用。在我的调试中,当我的控制器中的复选框被禁用时,我的对象引用未设置。
CONTROLLER
Subject = Request.Form["DetailSelect" + rowID].ToString();
JAVASCRIPT
ddlSelect.disabled = !ddlSelect.disabled;
ASPX
<select = id="detailSelect<%=item.rowID"%> name="DetailSelect<%=item.rowID%>">
<option value="">--Choose One--</option>
<option value="Math">Math</option>
<option value="English">English</option>
<option value="History">History</option>
</select>
如何在不使用javascript中的禁用切换功能的情况下禁用下拉列表?
答案 0 :(得分:1)
如果您不使用disabled属性,则可以使用以下属性执行此操作:
<select ... disabled="disabled"></select>
答案 1 :(得分:1)
你可以通过jquery
来做到这一点 $("input[id$='chkbox']").click(function() {
$("select[id$='ddl']").attr("disabled", !$(this).is(":checked"));
}); });
其中checkbox是复选框的Id,ddl是下拉列表的ID
答案 2 :(得分:0)
我做了一个小的解决方法,我使用了一个隐藏的对象,然后在javascript函数中禁用我的下拉菜单之前,我将值分配给我的隐藏输入。
ASPX
<input id="hiddenSelect" type="hidden" name="HiddenSelect" value="" />
JAVASCRIPT
var ddlSelect = document.getElementById('detailSelect' + rowID).value;
document.getElementById('hiddenSelect').value = ddlSelect;
ddlSelect.disable = !ddlSelect.disabled;