【问题标题】:How to deselect radiobutton when dropdown value is selected选择下拉值时如何取消选择单选按钮
【发布时间】:2012-10-25 18:06:26
【问题描述】:

我在选项 1 和选项 2 下有 2 个单选按钮和一个下拉列表。用户可以选择单选按钮或下拉列表。

选项 1

radiobtn1
radiobtn2

选项2

dropdownlistbox

option1 下的 radiobtn1 默认选中。当用户从下拉列表中选择值时,两个单选按钮都应该被​​禁用,或者应该取消选择默认选中的 radiobtn1。

            <tr><td>option1</td></tr>
            <tr>
            <td><asp:RadioButton ID="rdo" GroupName="Month" Text="radiobtn1" runat="server /></td>
            <td><asp:RadioButton ID="rdo2" GroupName="Month" Text="radiobtn2" runat="server /></td>
            </tr>
            <tr><td>option2</td></tr>
            <tr><td>
            <asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="ddMonYear_SelectedIndexChanged">
                        <asp:ListItem  Text="opt1"></asp:ListItem>
                        <asp:ListItem Text="opt2"></asp:ListItem>
            </asp:DropDownList>
            </td></tr>

protected void Page_Load(object sender, EventArgs e)
{
rdo.Checked=true;
if (ddMonYear.SelectedValue.Length.ToString() != "0")
        {
            rdo.Checked = false;
            rdo.Enabled = false;
        }
        else
        {
            rdo.Checked = true;
        }
}

上面的代码不起作用。当我从下拉列表中选择值时,radiobtn 1 没有取消选择。

帮助我更正我的代码。 谢谢。

【问题讨论】:

  • 看起来应该是客户端脚本。为什么不尝试用 JS 来做呢?
  • 为什么要将Length 转换为字符串并将其与"0" 进行比较?为什么不只是ddMonYear.SelectedValue.Length != 0
  • @Uriil ..我是这个编程领域的新手..我不知道如何用 JS 来做这件事..如果你能帮助我..谢谢..

标签: c# asp.net drop-down-menu


【解决方案1】:

在您的下拉框中,添加此代码(自动回发)

<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="ddMonYear_SelectedIndexChanged" AutoPostBack=True">

这样做是保持下拉框的值。每次加载页面时,下拉框都会在页面加载事件触发之前获取默认值。试试看。

【讨论】:

  • 这样对吗?? protected void ddMonYear_SelectedIndexChanged(object sender, EventArgs e) { if (ddMonYear.SelectedValue.Length.ToString() != "0") { rdo.Enabled = false; } }
猜你喜欢
  • 2023-03-06
  • 1970-01-01
  • 2020-05-21
  • 2011-07-17
  • 2015-02-27
  • 2012-02-21
  • 2021-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多