我需要取消选择单选按钮列表中的单选按钮,我知道使用复选框更明智,但管理层希望取消选中单选按钮。
答案 0 :(得分:13)
RadioButtonList控件是ListItems的集合。要清除控件中的一个单选按钮,您需要使用该特定项目的索引。要清除控件中的所有单选按钮,有一个方法“ClearSelection()”。
//To Unselect First Item
RadioButtonList1.Items[0].Selected = false;
//To unselect all Items
RadioButtonList1.ClearSelection();
希望这能解决您的问题。
答案 1 :(得分:3)
private void Clear()
{
if(RadioButton1.Checked)
{
RadioButton1.Checked = false;
}
}
答案 2 :(得分:2)
使用此:
RadioButton1.Checked = false;
答案 3 :(得分:0)
您的意思是您希望单选按钮组可以选择零值吗?从技术上讲,您可以确保组中的任何无线电都没有设置其检查值。 checked=""
或只删除整个属性。
请注意,这是无线电组的无效状态。它就像一个既不设置为true也不设置为false的布尔值。它在语义上没有任何意义,并且违反了HTML规范。
如果您受限于无线电组,唯一有效的选项是包含一个代表“没有其他选项”状态的无线电。
答案 4 :(得分:0)
我遇到了同样的问题。就我而言,我使用单选按钮checkedChanged事件自动将医疗文档字符串片段附加到富文本框控件中。对于所选择的每个单选按钮,代码段将是不同的,并且要求是只允许一个选项。所以单选按钮是最好的选择,而不是复选框。问题是,如果用户想要从文本框中删除所有文本片段,他/她可以手动从框中选择文本并删除它 - 但至少有一个单选按钮将保持选中状态。
因此,我发现解决此问题的最简单方法是向表单添加一个按钮,并使用其_Click事件将指定的单选按钮检查状态设置为false。
所以,我的代码看起来像这样......
// for rad 1
private void rad_NoDifferent_CheckedChanged(object sender, EventArgs e) {
if(rad_NoDifferent.Checked) {
rtb_GSC_Notes.AppendText(sRating_NoDiffMsg);
} else {
rtb_GSC_Notes.Text = rtb_GSC_Notes.Text.Replace(sRating_NoDiffMsg, sNoMsg.TrimEnd());
}
}
// for rad 2
private void rad_VeryDifferent_CheckedChanged(object sender, EventArgs e) {
if(rad_VeryDifferent.Checked) {
rtb_GSC_Notes.AppendText(sRating_VeryDiffMsg);
} else {
rtb_GSC_Notes.Text = rtb_GSC_Notes.Text.Replace(sRating_VeryDiffMsg, sNoMsg.TrimEnd());
}
}
// for rad 3
private void rad_Unsure_CheckedChanged(object sender, EventArgs e) {
if(rad_Unsure.Checked) {
rtb_GSC_Notes.AppendText(sRating_UnsureMsg);
} else {
rtb_GSC_Notes.Text = rtb_GSC_Notes.Text.Replace(sRating_UnsureMsg, sNoMsg.TrimEnd());
}
}
// for button reset
private void btn_ClearRadioButtons_Click(object sender, EventArgs e) {
rad_NoDifferent.Checked = false;
rad_Unsure.Checked = false;
rad_VeryDifferent.Checked = false;
}
答案 5 :(得分:0)
最近我遇到了同样的问题但是我找到了带有单选按钮的解决方案。 下面是单选按钮的aspx代码
<div>
<asp:RadioButton ID="RadioButton1" GroupName="myg" onClick="clicked(this.id);" runat="server" />
<asp:RadioButton ID="RadioButton2" GroupName="myg" onClick="clicked(this.id);" runat="server" />
<asp:RadioButton ID="RadioButton3" GroupName="myg" onClick="clicked(this.id);" runat="server" />
<asp:RadioButton ID="RadioButton4" GroupName="myg" onClick="clicked(this.id);" runat="server" />
</div>
只需在java脚本下面写一下。
<script type="type/javascript">
var arr = [];
function clicked(radid) {
var ra = document.getElementById(radid);
if (arr.indexOf(radid) < 0) {
arr.splice(0, arr.length);
arr.push(radid);
}
else {
arr.splice(0, arr.length);
ra.checked = false;
}
}
</script>
希望这能解决你的目的。
答案 6 :(得分:0)
WPF / C#
cd
答案 7 :(得分:0)
myRadioButtonList.SelectedIndex = -1;
希望获得帮助。