【发布时间】:2018-04-12 12:14:52
【问题描述】:
我正在为一个复选框而苦苦挣扎。我希望根据来自数据库的变量检查复选框。我可以在控制台中看到该值,因此它是动态填充的,但我无法选中复选框。
我尝试了两件事:
$(document).ready(function() {
$('input[name="OPTIN_NEWSLETTER_STARTER_INDEPENDANT"]').each(function(index) {
if ($(this).val() ==
"%%OPTIN_NEWSLETTER_STARTER_INDEPENDANT%%")
($(this).prop('checked', true));
});
还有
$(document).ready(function() {
var checkBox =
[
["OPTIN_NEWSLETTER_STARTER_INDEPENDANT",
"%%OPTIN_NEWSLETTER_STARTER_INDEPENDANT%%"],
];
for (var i = 0; i < checkBox.length; i++) {
if (checkBox[i][1] == "Yes") {
if ($('input[name="' + checkBox[i][0] + '"]'))
{
$('input[name="' + checkBox[i][0] +
'"]').prop("checked", true).change();
}
}
};
这是我的 html 复选框:
<label class="yesNoCheckboxLabel">
<input type="checkbox"
name="OPTIN_NEWSLETTER_STARTER_INDEPENDANT" id="control_COLUMN136"
label="OPTIN_NEWSLETTER_STARTER_INDEPENDANT"
value="%%OPTIN_NEWSLETTER_STARTER_INDEPENDANT%%"
checked="">OPTIN_NEWSLETTER_STARTER_INDEPENDANT</label>
很高兴有人提供见解,谢谢!
亲切的问候, 罗兰
【问题讨论】:
-
$(this).prop('checked', true) 应该可以工作。你能提供一个最小的、完整的和可验证的例子吗? stackoverflow.com/help/mcve
-
我测试了您的代码,它按照您描述的方式工作; 除了,您粘贴的第一个
document.ready()块的右大括号和圆括号不完整,所以我不得不更正它。您确定这不是原因,因此您在页面上有错误吗?
标签: javascript jquery html checkbox