我有asp.net网页,我有单选按钮和复选框。 当单选按钮状态发生任何变化时,我需要更改复选框的文本。
请建议我如何实现这一目标......
我尝试了单选按钮的状态改变事件&我已经设置了复选框的文本属性。 这是我在后台.cs文件中完成的 但它没有发生。
请建议。 感谢
答案 0 :(得分:1)
您需要设置RadioButton的属性AutoPostBack=true
和处理程序CheckedChanged
事件。
示例:
<asp:RadioButton
ID="RadioButton1"
runat="server"
AutoPostBack="True"
GroupName="Group1"
oncheckedchanged="RadioButton1_CheckedChanged" />
<asp:RadioButton
ID="RadioButton2"
runat="server"
AutoPostBack="True"
GroupName="Group1"
oncheckedchanged="RadioButton1_CheckedChanged" />
<asp:CheckBox ID="CheckBox1" runat="server" />
代码背后:
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
CheckBox1.Text = RadioButton1.Checked ? "Checked" : "Not Checked";
}
答案 1 :(得分:1)
您可以将AutoPostBack属性设置为true。这会将JavaScript添加到客户端,从而自动增加回发事件。
<强> ASPX 强>
<asp:RadioButton ID="RadioButton1" runat="server" AutoPostBack="True"
oncheckedchanged="RadioButton1_CheckedChanged" />
<asp:CheckBox ID="CheckBox1" runat="server" />
<强>的.cs 强>
protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
{
CheckBox1.Text = "some text...";
}
答案 2 :(得分:0)
根据您提供的信息,我建议您使用Javascript
来完成此操作,因为它可以极大地改善用户体验。如果您能提供更多详细信息,我可以为您提供更多信息。
根据您的评论进行修改
标记:
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
<asp:ListItem Value="RadioButton1">RadioButton1</asp:ListItem>
<asp:ListItem Value="RadioButton2">RadioButton2</asp:ListItem>
</asp:RadioButtonList>
<asp:CheckBox ID="Checkbox1" runat="server" Text="RadioButton1" />
javascript:
$(function () {
$("#<%=RadioButtonList1.ClientID %> input:radio").change(function () {
$("#<%=Checkbox1.ClientID %>").next().text($("#<%=RadioButtonList1.ClientID %> input:radio:checked").val());
});
});
RadioButtonList
将使用<Table>
ID
在HTML中生成RadioButtonList1
。 javascript选择器选择该表中的所有单选按钮。虽然这将满足您的要求,但是发布到服务器是另一回事。
答案 3 :(得分:-1)
我认为通过使用jquery来实现任务将通过阻止回发来提高性能。
<script>
$(function() {
$("input[name='<%=RadioButton1.ClientID %>']").change(function(){
$("#<%= CheckBox1.ClientID%>").next("label:first").text("New Text");
});
});
</script>
假设单选按钮的ID为“RadioButton1”,复选框为ID“CheckBox1”。