我有我有單選按鈕以及複選框的asp.net網頁。 當單選按鈕狀態發生任何變化時,我需要更改複選框的文本。更改單選按鈕的狀態更改複選框的文本
請建議我如何能做到這一點...
我試着用單選按鈕的狀態的情況下,對我已設置檢查框的文本屬性更改事件&。 這個我已經在背景.cs文件 中完成,但沒有發生。
請建議。 謝謝
我有我有單選按鈕以及複選框的asp.net網頁。 當單選按鈕狀態發生任何變化時,我需要更改複選框的文本。更改單選按鈕的狀態更改複選框的文本
請建議我如何能做到這一點...
我試着用單選按鈕的狀態的情況下,對我已設置檢查框的文本屬性更改事件&。 這個我已經在背景.cs文件 中完成,但沒有發生。
請建議。 謝謝
您需要設置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";
}
從你提供我會建議使用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
將生成HTML一個<Table>
與RadioButtonList1
的ID
。 javascript選擇器從該表格中選擇所有單選按鈕。雖然這將滿足你的要求,但發送到服務器是另一回事。
正如我所說,我有複選框說「Checkbox1」text =「Text1」。我也有Radiobutton說「Radio1」和「Radio2」。現在默認Radio1被選中。但是當我檢查Radio2時,Checkbox1的文本應該改爲「Text2」。這是我想要的,但老實說,我是新來的ASP.net以及JavaScript ...請幫助 – Vijay 2011-12-30 07:00:29
您可以將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...";
}
我想通過使用jQuery實現該任務將通過防止回傳增加peformance。
<script>
$(function() {
$("input[name='<%=RadioButton1.ClientID %>']").change(function(){
$("#<%= CheckBox1.ClientID%>").next("label:first").text("New Text");
});
});
</script>
假設的單選按鈕具有ID 「RadioButton1」,複選框作爲ID 「CheckBox1」。
-1你在那裏的第一個選擇器將只抓取'RadioButton1.ClientID'類型的所有元素,所以如果ClientID是'測試',那麼它會抓住所有像'
@Craig - 更新了我的答案。 – Bibhu 2011-12-29 15:38:10
真的不想在這裏給你,但是...當你使用一個id選擇器時,你錯過了'#'符號,你有一個錯字。此外,因爲單選按鈕是一個集合,所以設置id屬性是不合適的...而是應該使用name屬性並將您的選擇器更改爲類似'input [name ='<%= RadioButton1.ClientID%>']' 。如果你使用'#'標誌向jQuery表明你想要一個帶有指定'id'的元素,它將只會返回0或1個項目。 – Craig 2011-12-29 15:47:46
嘿AVD!很好的答案,但維傑希望改變複選框的文本而不是單選按鈕。 – Bastardo 2011-12-29 14:06:43
@OkayGuy - 謝謝!我已經更新了它。 – adatapost 2011-12-29 14:10:00
@Vijay - 編輯您的文章和相關代碼。 – adatapost 2011-12-30 06:56:10