【问题标题】:Radiobuttonfor to select only one option between multiple options单选按钮用于在多个选项中仅选择一个选项
【发布时间】:2013-02-24 01:06:40
【问题描述】:

我有一个包含 2 个布尔值的模型:

public bool m_IsOptionA {get;set;}
public bool m_IsOptionB {get;set;}

而且,在我看来,我想生成 2 个单选按钮,用户必须选择其中一个。所以,基本上,我需要做到这一点,如果一个被选中,另一个不会被选中。

在我的控制器中,在将我的模型传递给视图之前,我为对象列表的每个项目初始化这些值:

foreach (var item in m_ListObjs)
{
    item.m_IsOptionA = true;
    item.m_IsOptionB = false;
}

然后,在我看来,我为单选按钮生成以下代码:

@for (int i = 0; i < Model.Count; i++)
    {
        <p>
            <tr>
                <td>@Html.RadioButtonFor(x => x[i].m_IsOptionA, new{id = "m_IsAuction_true"}, new {style = "width:100px"})</td>
                <td>@Html.RadioButtonFor(x => x[i].m_IsOptionB, new{id = "m_IsBuyItNow_false"}, new {style = "width:130px"})</td>
            </tr>
        </p>
    }

但是它们既可以被检查,也可以在检查后保持检查,这不是我想要的行为。

我需要一些javascript吗?是这样,我怎么能这样做,如果不是,我做错了什么?

谢谢!

【问题讨论】:

  • 为什么要有单选按钮,肯定是复选框更好。如果选中 optionA 为真,b 为假。如果未选中,则反之。
  • 嗯,它也可能是一个选项。只是我从未使用过单选按钮并想学习如何操作。而且,无论如何,对于这种行为,我还需要确保如果一个复选框被选中,另一个复选框不会被选中。
  • stackoverflow.com/questions/3114689/… - 这可能会有所帮助

标签: c# asp.net-mvc radio-button


【解决方案1】:

好的!感谢@Digger37,我理解了我的错误。我不需要 2 个布尔值,而是需要为每个想要的值设置一个和 2 个单选按钮。

这是我的布尔值:

public bool m_IsOptionSelected {get;set;}

现在这是我的新观点:

<td>@Html.RadioButtonFor(x => x[i].m_IsOptionSelected , "true", new {style = "width:100px"}) Option A</td>
<td>@Html.RadioButtonFor(x => x[i].m_IsOptionSelected , "false", new {style = "width:100px"}) Option B</td>

而且效果很好。谢谢!

【讨论】:

    猜你喜欢
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 2018-11-30
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多