3

我需要取消选择单选按钮列表中的单选按钮,我知道使用复选框更明智,但管理层希望取消选中单选按钮。

4

8 回答 8

16

RadioButtonList 控件是 ListItems 的集合。要清除控件中的一个单选按钮,您需要为该特定项目使用索引。要清除控件中的所有单选按钮,有一个方法“ClearSelection()”。

  //To Unselect First Item
   RadioButtonList1.Items[0].Selected = false;

  //To unselect all Items
  RadioButtonList1.ClearSelection();

希望这能解决您的问题。

于 2013-09-17T20:07:37.727 回答
3
private void Clear()
    {
        if(RadioButton1.Checked)
            {
                RadioButton1.Checked = false;
            }
     }
于 2015-01-20T10:46:19.467 回答
2

用这个:

RadioButton1.Checked = false;
于 2014-05-15T09:37:33.197 回答
2
myRadioButtonList.SelectedIndex = -1;

希望这有帮助。

于 2018-07-20T09:20:04.170 回答
0

您的意思是您希望您的单选按钮组可以选择零值?从技术上讲,您只需确保组中的任何无线电都没有设置其检查值。checked=""或者只是删除整个属性。

请注意,这是无线电组的无效状态。这就像一个既不设置为真也不设置为假的布尔值。它在语义上没有意义,并且违反了 HTML 规范。

如果您受限于无线电组,则唯一有效的选项是包含一个表示“没有其他选项”状态的无线电。

于 2013-09-17T15:19:29.060 回答
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>

希望这能解决您的目的。

于 2014-11-15T17:18:51.313 回答
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;
        }
于 2014-06-28T20:42:03.877 回答
0

WPF/C#

if (RadioBTN.IsChecked == true) {
    RadioBTN.IsChecked = false;
}
于 2015-12-30T16:00:16.337 回答