2010-07-15 59 views
1

我有一个下拉列表获得基于某个复选框的onclick启用/禁用。在我的调试中,当我的控制器中的复选框被禁用时,我的对象引用未被设置。我可以禁用一个下拉列表,而在JavaScript中使用禁用?

控制器

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

我做了一些解决方法,我用一个隐藏的对象之前,我禁止我滴在javascript函数下来,我值分配给我的藏inpu的ID吨。

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; 
1

如果不使用禁用属性,你可以用一个属性做到这一点:

<select ... disabled="disabled"></select> 
+0

这是accessable符合我的Request.Form代码控制器? – MrM 2010-07-15 18:57:11

1

你可以做到这一点通过jQuery

$("input[id$='chkbox']").click(function() { 
      $("select[id$='ddl']").attr("disabled", !$(this).is(":checked")); 
     }); }); 

其中chkbox是复选框的Id和DDL是下拉列表

+0

这是accessable符合我的Request.Form代码控制器? – MrM 2010-07-15 18:56:49

+0

有一个很好的文章,它告诉我们,为什么禁用的控件不会发布到Web服务器,并研究了一些方法可以解决该问题。 http://www.4guysfromrolla.com/articles/012506-1.aspx “固定残疾人表单域问题通过使用‘人造’禁用状态”的标题下 – Neel 2010-07-15 19:13:14