1

我有一个下拉列表控件,它填充了数据库中的人名列表。如果用户在列表中选择一个人,我想启用 CheckBox 控件,如果他们选择 BLANK(也是列表中的一个选项),我想禁用复选框。

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

    <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/的一个例子,但它没有使用复选框控件,所以不确定它是否可以工作。对不起,我是 jScript 的新手。

提前致谢

4

1 回答 1

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 代码应用于它们。

于 2013-03-19T00:53:46.550 回答