1

ドロップダウンリストコントロールがあり、データベースからの人々の名前のリストが入力されています。ユーザーがリスト内の人を選択した場合はチェックボックスコントロールを有効にし、空白(リスト内のオプションも)を選択した場合はチェックボックスを無効にします。

これが私のコードの一部です...

    <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 に答える