jquery - 无法使用 jQuery 以编程方式 "check"单选按钮

标签 jquery forms radio-button

我有一组单选按钮,并且希望使按钮本身和附加文本都可单击(以提高可用性)。

这应该非常简单,但由于某种原因,单选按钮的状态在从 jQuery 触发时不会更新。发生的情况是 checked 属性将出现在 DOM 中,但单选按钮似乎保持未选中状态(视觉上)。

注意:当我从控制台运行代码时它工作得很好,但是当我的函数正常触发它时,它不会更新。另外,这段代码非常适合取消选中组中的其他单选按钮...所以我很困惑为什么它在另一个方向不起作用。

这是我的标记:

<div class="radio-input">
    <input type="radio" name="ad_category" id="cat_standard">
    <span class="inline-label">Standard</span>
</div>
<div class="radio-input">
    <input type="radio" name="ad_category" id="cat_reward">
    <span class="inline-label">Reward</span>
</div>

和 jQuery:

$(".radio-input").click( function() {

  if (!$(this).children("input:radio").attr("checked")) {

    $(this).siblings(".radio-input").children("input:radio").removeAttr("checked");

    $(this).children("input:radio").attr("checked","checked");

  }
});

根据记录,在元素上调用 click() 会产生相同的非结果,即使它在从控制台触发时工作正常。此外,.prop.attr 都会产生相同的结果(在控制台中工作,不在常规流程中工作)。

最佳答案

有什么问题:

<label><input type="radio" name="ad_category"> Standard</label>

这就是<label>毕竟,标签是为了...

无论如何,要回答实际问题,checked 之间是有区别的。 属性checked 属性(property)。这种差异的一个例子是文本字段: input.value是当前值,input.getAttribute("value")保持默认值。

关于jquery - 无法使用 jQuery 以编程方式 "check"单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9729479/

相关文章:

wpf - 将单选按钮组绑定(bind)到 WPF 中的属性

javascript - 具有单选按钮功能的按钮

Jquery datepicker 在 div 后面

javascript - getJSON 错误 - 不确定我哪里出错了

javascript - 用jQuery获取声卡的输入声音

html - 如何为输入类型时间元素设置最小值?

javascript - Iframe 内的表单未使用 Jquery 在 IE11 中提交

php - 在两个不同的表中添加记录

内联日期选择器中的 jQuery UI beforeShowDay 崩溃

ios - 如何让两个 UIButton 像 Swift 中的单选按钮一样执行?