【问题标题】:Check checkbox based on variable value根据变量值选中复选框
【发布时间】: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


【解决方案1】:

我在本地测试了您的案例,它工作正常可能是您缺少其他地方,并确保使用 attr 为 jquery 1.5 或更低版本设置值

对于 jquery 1.5 或更低版本

 ($(this).prop('checked', true));

 $(document).ready(function() {
$('input[name="vehicle1"]').each(function(index) {

        if ($(this).val() == 
"vehicle1")
            ($(this).prop('checked', true));
    });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
  <input type="checkbox" name="vehicle1" value="vehicle1"> I have a bike<br>
  <input type="checkbox" name="vehicle1" value="vehicle1"> I have a car 
</form>

最后要确保这个条件的值必须相同

$(this).val() == "vehicle1"

【讨论】:

  • 谢谢!恐怕我只是放错了我的
猜你喜欢
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 2018-02-19
  • 2011-08-14
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
相关资源
最近更新 更多