53

任何人都知道如何取消选择单选组中的所有单选按钮?

HTML:

<div id="emptimfields">
              <label id="lbl_emptim">How regulary do you employ people to help cultivate your land? </label><br/><br/>

             <fieldset data-role="controlgroup" data-type="vertical" id="emptim">

              <input name="emptim" id="radio1" value="fromtimetotime" type="radio" openmrs-valuecoded="" />
              <label for="radio1"> From time to time </label>

              <input name="emptim" id="radio2" value="allthetime" type="radio" openmrs-valuecoded="" />
              <label for="radio2">All the time</label>

              <input name="emptim" id="radio3" value="dontknow" type="radio" openmrs-valuecoded="" />
              <label for="radio3"> Don't know </label> 
            </fieldset>
        </div>

jQuery端:

$('input:radio[name=emptim]:checked').prop('checked', false); // doesn't work 

我当然缺少一些基本的东西,但我不知道是什么问题。

首先,我检查是,然后检查第二个无线电组的值:

在此处输入图像描述

然后,我选中否以隐藏第二个无线电组:

在此处输入图像描述

然后,如果我点击下一步,我会得到我检查过的值(但我之前没有检查过,所以在这里我不想要警报,我希望取消选中单选按钮“不时”):

在此处输入图像描述

最后,如果我回来,什么也没发生:

在此处输入图像描述

4

5 回答 5

101

您可以给他们一个类名并尝试:

$('.classname').prop('checked', false);

当您使用比 1.6 更旧的 jQuery 版本时,它必须是:

 $('<selector>').attr('checked', false);

编辑 :

调用该方法.checkboxradio("refresh");也对我有用。

于 2012-08-21T12:31:10.027 回答
20
$('input:radio[name=indicatorType]').each(function () { $(this).prop('checked', false); });

使单选组的“未选中”整个单选按钮的替代解决方案(上述代码示例的“indicatorType”)。

于 2013-11-13T11:57:46.217 回答
8

这应该这样做。请注意最后的刷新选项以强制更新控制组。

此方法的另一个好处是它按名称定位特定的无线电组,而不是页面上的所有无线电控件。

$('input:radio[name=emptim]:checked').prop('checked', false).checkboxradio("refresh");
于 2014-04-16T10:37:12.363 回答
0

我制作了一个非显示单选按钮并通过我的 PHP 调用它。您可以使用 jquery 来选择隐藏按钮。我无法让解决方案在这里工作,所以我使用了一些 PHP,因为我必须从数据库中调用值。为了帮助任何人,我使用的解决方案是:

<input type="radio" id="test" value="" class = "timescale" name="timescale_radio_buttons" style="display: none" <?php $x = ((empty($gigObject->getTimescale())) || ($gigObject->getTimescale() == 'Blank')) ? 'checked="checked"' : ''; echo $x; ?>>
于 2021-11-16T10:25:21.613 回答
-1

该道具对我不起作用,但这非常有效:

('input:radio[name="RadioName"]').each(function () { $(this).attr('checked', false); });
于 2018-03-29T09:22:11.043 回答