私はasp.netで詳細ビューを使用しています。性別欄があります。このフィールドがチェックされると、チェックボックスのテキストが自動的に「男性」に変更され、それ以外の場合は「女性」に変更されます。どのようにできるのか?この機能にチェックボックスを設定するには?
3 に答える
1
列またはプロパティ名が Sex で、性別が男性の場合に true であるとします。これをマークアップで使用します。
<asp:CheckBox runat="server" ID="chkSex" Text='<%# GetText((bool)Eval("Sex"))%>'
Checked='<%# Eval("Sex")%>' />
このメソッドをコード ビハインドで記述します。
protected static object GetText(bool b)
{
return b ? "Male" : "Female";
}
于 2009-08-25T05:32:01.357 に答える
1
あなたが実際にこれを行っていないことを願っていますが、次の方法でそれを達成できます。
protected void chkSex_CheckedChanged(object sender, EventArgs e)
{
CheckBox chkSex = (CheckBox)sender;
chkSex.Text = SexString(chkSex.Checked);
}
protected string SexString(bool sex)
{
return sex ? "Male" : "Female";
}
そしてマークアップ:
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:CheckBox runat="server"
Checked='<%# Eval("Sex") %>'
OnCheckedChanged="chkSex_CheckedChanged"
AutoPostBack="true"
Text='<%# SexString((bool)Eval("Sex")) %>'/>
</ContentTemplate>
</asp:UpdatePanel>
于 2009-08-25T05:11:06.607 に答える
1
これは、いくつかの単純な JavaScript で行うことができます。
マークアップ
<label id="sexLabel" for="sexCheckBox">Male</label>
<input id="sexCheckBox" type="checkbox" onclick="sexClick(this);" />
コード
function sexClick(checkbox) {
document.getElementById('sexLabel').innerHTML = (checkbox.checked) ? 'Female' : 'Male';
}
jQuery
マークアップ
<label id="sexLabel" for="sexCheckBox">Male</label>
<input id="sexCheckBox" type="checkbox" />
コード
$(function() {
$('#sexCheckBox').click(function() {
$('#sexLabel').text((checkbox.checked) ? 'Female' : 'Male');
});
});
于 2009-08-25T05:16:38.547 に答える