2013-03-19 66 views
1

我有一个下拉列表控制和它填充了从数据库中民族名称的列表复选框。我想如果用户选择列表中的一个人,使CheckBox控件和禁用复选框,如果他们选择BLANK(也是一个列表中选择)。ASP.net:如何切换基于一个下拉列表选择

这里是我的代码的一部分...

<tr> 
     <td>&nbsp;<asp:Label ID="lblAssignedTo1" runat="server" Text="Assigned To:"></asp:Label></td> 
     <td><asp:DropDownList ID="ddlAssignedTo1" runat="server" AppendDataBoundItems="True" DataSourceID="dsAssignedTo" DataTextField="StaffName" DataValueField="StaffID"><asp:ListItem Text="" /></asp:DropDownList></td> 
    </tr> 
    <tr> 
     <td>&nbsp;<asp:Label ID="LabelEmail1" runat="server" Text="Send Email:"></asp:Label> 
     </td> 
     <td><asp:CheckBox ID="cbEmail1" runat="server" Checked="true" /></td> 
    </tr> 

复选框是发送一封电子邮件,从列表中选择的人的触发器。我希望它默认为“已启用”,如果一个人被从列表中选择,以确保我使用的程序将稍后发送电子邮件的复选框。

我看了一下http://api.jquery.com/change/对于这样的一个例子,但它不使用CheckBox控件,所以不知道是否会工作。对不起,我是jScript的新手。

在此先感谢

回答

2

纯HTML和JavaScript的方法将是这个样子:

<select id="people"> 
    <option value="">Select One</option> 
    <option value="person1">Person 1</option> 
    <option value="person2">Person 2</option> 
    <option value="person3">Person 3</option> 
</select> 
<input type="checkbox" name="sendemail" id="sendemail" disabled="disabled" /> 

$(document).ready(function() { 
    $('#people').change(function() { 
     if($(this).val() == '') { 
      $('#sendemail').attr('disabled', 'disabled'); 
     } 
     else { 
      $('#sendemail').removeAttr('disabled'); 
     } 
    }); 
}); 

http://jsfiddle.net/AEXpG/

在代码方面,刚刚抢选择列表和复选框ClientId,然后将上面的jQuery代码应用到它们。

+0

真棒!非常感谢。 – Fandango68 2013-03-19 06:25:22

+0

@ Fernando68请接受的答案,如果它做的伎俩为您服务。 – 2013-03-19 22:28:05

+0

如何?对不起,我是新来的。我没有看到“接受”按钮或链接。 – Fandango68 2013-03-21 01:20:00

相关问题