【问题标题】:Radiobuttonlist? When I select a radiobutton I want to unselect by clicking again the selected radio button单选按钮列表?当我选择一个单选按钮时,我想通过再次单击选定的单选按钮来取消选择
【发布时间】:2011-08-16 11:18:39
【问题描述】:

我使用 asp:radiobuttonlist 并有 2 个收音机,例如是/否。

我希望能够让用户能够在单击“是”或“否”后通过再次单击“是”或“否”来撤消选择。

例如,用户单击“是”,但他认为“不,我稍后会回答”。他们无法撤消选择...他们必须选择“是”或“否”。

有没有办法让当用户点击YES时,选择yes,当他们再次点击YES时,它应该被取消选择......结果应该是yes和no没有被填充/点击/选择了吗?

我不想添加第三个单选按钮作为选项。只是希望能够为用户提供功能,以便当他再次单击选定的项目时,它应该被取消选择...期望的结果:两者都未选择。

我需要往 jQuery 的方向思考,对吧?

【问题讨论】:

  • 如果它只是一个是/否选择,而不是有两个单选按钮,就用户体验而言,有一个复选框可能会更好?但是,它不允许“两者都没有”选项,因此无法解决您的问题。

标签: c# jquery asp.net jquery-ui


【解决方案1】:

这不是单选按钮的预期行为 - 您不会再次单击它来否定它。如果您愿意,您应该查看复选框/复选框列表。

【讨论】:

  • 我想要这种行为:如果他们选择,他们只能选择一个,但他们应该能够取消点击。使用 checkboxlist 他们可以选择多个权利?
  • 您可以强制选择某些复选框或向单选按钮添加取消选中功能。但是,就用户体验设计而言,这些选项中的任何一个都相当糟糕……太糟糕了,以至于我不打算详细说明如何做到这一点。
  • 我同意用户想要做的事情是合法的,但我认为这样做的机制不应该是强制单选按钮的行为与网络上的所有其他单选按钮不同。我的解决方案和 Michael Durrant 的解决方案都在不改变常见 GUI 元素的行为的情况下实现了您的目标。
  • @mesut - 看看 Microsoft msdn.microsoft.com/en-us/library/aa511488.aspx 的指导方针 - 你尝试做的事情会让大多数有网页体验的用户感到困惑。
  • 我认为你们是对的人......同时也在查看 msdn 指南。你说服了我。
【解决方案2】:

你可以给他们第三个“未决定”的单选按钮吗?如this fiddle所示。

【讨论】:

  • 这是我不想要的选项。我不想要第三个选项。
  • 很公平。我将把解决方案留在这里,作为一般问题的潜在解决方案。
【解决方案3】:

跳出框框思考。 使用“包括这个?”之类的标签 有一个复选框,我们可以根据他们的心愿勾选和取消勾选 像这样的 gui 问题大多与正确的方法有关。

【讨论】:

    【解决方案4】:

    使用复选框组并绑定点击处理程序来取消选择该组的其他人:

    $("input[type='checkbox']").bind('click', function() {
        var name = $(this).attr('name');
        $("input[type='checkbox'][name='" + name + "'][id!='" + $(this).attr('id') + "']").map(function() {
            $(this).prop('checked', false); return this;
        }).checkboxradio('refresh');
    });
    

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2016-09-24
      • 2012-02-21
      相关资源
      最近更新 更多