2010-07-15 55 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