如何根据选择的第一个下拉列表框禁用或启用aspx中的第二个下拉列表

时间:2010-04-15 17:30:53

标签: c# asp.net javascript jquery

我遇到了根据第一个DropDownList的chice禁用DropDownList的问题,没有回发,并且它是一个基于模板的Web应用程序,这里是当前代码:

<script type="text/javascript">
   $(function() {  var dropDownList1 = $('#<%= ddlUserType.ClientID %>');
var dropDownList2 = $('#<%= ddlMember.ClientID %>');            dropDownList1.change(function(e)  {
if ( jQuery("#ddlUserType").val() != "ETOC")                           dropDownList2.removeAttr('disabled');                                     e.preventDefault();
      else 
      dropDownList2.removeAttr('enabled');                                    e.preventDefault(); }
     } );
      </script>

现在发生的事情是页面是空白的,如果我删除上面的代码,一切都会显示,我出错了。

这是简单的最终javascript代码:

<script language="javascript">  
function CheckDropDownState(lstbox)
 { 
if (lstbox.selectedIndex == 3) {  document.forms[0].ddlMember.disabled = 1; }
else { document.forms[0].ddlMember.disabled = 0; } 
} 
</script>

和.aspx代码:

<asp:dropdownlist id="ddlUserType" runat="server" onclick="CheckDropDownState(this);"></asp:dropdownlist>

再次感谢帮助人员。

1 个答案:

答案 0 :(得分:1)

我尝试过清理一下你的代码:

$(function() {  
    var dropDownList1 = $('#<%= ddlUserType.ClientID %>');
    var dropDownList2 = $('#<%= ddlMember.ClientID %>');            
    dropDownList1.change(function(e) {
        var selectedValue = $(this).val();
        if (selectedValue != 'ETOC') {
            // enable the second combo if the value selected in the first combo 
            // is not ETOC
            dropDownList2.removeAttr('disabled');
        } else {
            dropDownList2.attr('disabled', 'disabled');                                    
        }
        e.preventDefault(); 
    }
});