【问题标题】:Radio buttons uncheck单选按钮取消选中
【发布时间】:2012-01-23 18:31:30
【问题描述】:

如果有人有同样的问题,请编辑*下面的答案解决了问题。

我的单选按钮的小问题我有三行,每行有 3 个单选按钮,我希望用户能够检查前两行上的任何单选按钮,但只能在每行上选择一个选项:

例如

用户只能从“keystage1yr1”中选择一个选项,并且只能从“keystage1yr2”中选择一个选项。这一切都很好,因为它们具有相同的“名称”,因此默认情况下,用户只能为每一行选择一个。

我试过了:

Deselect Radio Button if another one is selected

How do I deselect a whole group of radio buttons when a user clicks on some other button?

但要知道运气,尽管他们可能会帮助其他人。

<input class="radio" type="radio" name="keystage1yr1" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr1" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr1" value="Paper & CD" /> <span>&#163;40 excl VAT</span>

<input class="radio" type="radio" name="keystage1yr2" value="Paper" /> <span>&#163;25</span>
<input class="radio" type="radio" name="keystage1yr2" value="CD" /> <span>&#163;25 excl VAT</span>
<input class="radio" type="radio" name="keystage1yr2" value="Paper & CD" /> <span>&#163;40 excl VAT</span>

<input class="radio" type="radio" name="keystage1save" value="Paper" /> <span>&#163;47.50</span>
<input class="radio" type="radio" name="keystage1save" value="CD" /> <span>&#163;47.50 excl VAT</span>
<input class="radio" type="radio" name="keystage1save" value="Paper & CD" /> <span>&#163;75 excl VAT</span>

提前致谢。

【问题讨论】:

  • 尝试了之前发布的大多数答案,但似乎没有一个有效,因为它们都适用于我的两个选项 3 :)
  • 你又尝试了什么?我们不是这里的读心者。提供参考。
  • 只需使用 javascript 函数取消选择您要取消选择的单选按钮...
  • 使用您链接到的两个问题中的任何一个作为起点的 javascript 答案。这对javascript一点也不难。自己尝试一些事情,如果你不能让它发挥作用,然后发布你尝试过的东西,我们会从那里帮助你。

标签: javascript jquery html forms radio-button


【解决方案1】:

这里有一些 Javascript 可以帮助你:

// Simply caching the dom queries for speed
$yearstages = $('input[name="keystage1yr2"],input[name="keystage1yr1"]');
$savestages = $('input[name="keystage1save"]');
// I only attach one handler to some parent element:
$('#radios').on('change', 'input', function() {
    if (this.name == "keystage1save") {
        $yearstages.filter('input:checked').prop('checked', false);
    } else {
        $savestages.filter('input:checked').prop('checked', false);
    }
});

这个工作的一个例子:http://jsfiddle.net/CUTnY/

【讨论】:

    猜你喜欢
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2012-01-31
    • 2023-03-29
    • 2017-05-05
    • 2012-12-10
    相关资源
    最近更新 更多