【问题标题】:jQuery Setting Checkbox to 'Checked'jQuery 将复选框设置为“已选中”
【发布时间】:2013-07-10 08:02:50
【问题描述】:

我正在尝试设置一个复选框以从 if 语句中进行检查,但它似乎不想工作......

这是 HTML:

<input type="checkbox" id="aircon" name="aircon" onchange="QuoteRefresh();" class="toggle"  />

这是在我的 .js 文件中:

$('#aircon').prop('checked', true);

我在控制台中看不到任何错误。

任何人都可以对此有所了解。

在 AJAX 成功响应中:

if (SelectedLevel == "Gold") {


  $('#aircon').prop('checked', true);

}

谁能帮帮我??

这是我在控制台中得到的:

[input#aircon.toggle, context: document, selector: "#aircon", constructor: function, init:      function, selector: ""…]
0: input#aircon.toggle
context: document
length: 1
selector: "#aircon"
__proto__: Object[0]

【问题讨论】:

  • 这是在任何事件处理程序中,某个函数吗?你有重复的ID吗?
  • 效果很好,向我们展示条件以及它是如何触发的!
  • 是的,它在单独文件中的 if 语句中......
  • 它是否进入有这个的if条件?在这个语句之前做一个 console.log($('#aircon')) 看看。
  • 这是在页面加载期间发生的吗?还是您在某些事件处理等期间这样做?

标签: jquery prop


【解决方案1】:

您发布的代码应该可以工作,也许您的 QuoteRefresh(); 方法返回 false,或者您处理 checked 属性的代码未附加到您想要的相应事件。

这是prop 方法的JSFiddle 工作。

编辑(使用从您对该答案的初始评论中收集的信息)

如果我的理解正确,您正在使用引导切换按钮组件(用单选按钮值表示),并且您正在尝试使用 .prop('checked', true); 更改主动切换按钮,但您的组件视觉风格是不改变。这是因为将单选按钮上的 checked 属性从 true 更改为 false (反之亦然)不会触发任何 javascript 事件,引导程序依赖该事件来更新单选按钮的视觉状态。

【讨论】:

  • 我刚刚从 IF 语句中删除了它,但它似乎不起作用...可能是因为我已将单选按钮设置为切换按钮...
  • 这是因为 'bootstrap-toggle-buttons' 我刚刚在 github 上添加了一个错误。
  • 我编辑了我的答案以反映我认为您的问题的真正含义 - 您应该考虑编辑您的问题以更具体地解决您的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-11
  • 2013-02-09
  • 1970-01-01
  • 2010-09-30
相关资源
最近更新 更多