我有一个下拉列表控件,它上面填充了数据库中的人名列表。我想在用户选择列表中的某个人时启用CheckBox控件,如果他们选择BLANK(也是列表中的选项),则禁用该复选框。
以下是我的代码的一部分......
<tr>
<td> <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> <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/这个例子,但它没有使用复选框控件,因此不确定它是否可行。对不起,我是jScript的新手。
提前致谢
答案 0 :(得分: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');
}
});
});
就代码而言,只需获取选择列表并选中ClientId复选框,然后将上述jQuery代码应用于它们。