アクティビティ名とチェックボックス列を表示するデータグリッドがあります。ユーザーは、そのアクティビティを選択する場合はチェックボックスをオンにし、送信ボタンを押して正常に追加します。
ユーザーがチェック済みのチェックボックスをオフにしたい場合は、そのアクティビティが現在他のものに関連付けられているかどうかを確認するために、特定の検証を行う必要があります。
どうやってやるの?
クライアント側で検証できる場合は、GridView にテンプレート フィールドを追加し、テンプレート フィールドに CheckBox を追加して、JavaScript イベントをアタッチします。
<asp:TemplateField HeaderText="IsActive">
<ItemTemplate>
<asp:CheckBox ID="chkActive" Checked='<%# Bind("IsActive") %>' runat="server" onClick="checkboxClicked(this)" />
</ItemTemplate>
</asp:TemplateField>
JavaScript イベントを処理し、検証を実行します。ユーザーがチェックボックスをオフにして検証が失敗した場合、次のようにユーザーにプロンプトを表示し、JavaScript でチェックボックスをオンにすることができます。
function checkboxClicked(src) {
if (!src.checked) {
var valid;
//Perform validation and set a boolean value to the variable valid
if(!valid)
src.checked = true;
}
}
これは、探しているものを達成するのに役立つ場合があります。他にヘルプが必要な場合は、コメントを入力してください。
あなたのマークアップを見なくても、HTML
私はあなたにこのようなことを提案することができます...
$('#my_checkbox').click(function(){
if($(this).is(':checked'){
// do something here
} else {
// Perform your certain validations here..
}
}