根据变量值选中复选框

时间:2018-04-12 12:14:53

标签: javascript jquery html checkbox

我正在努力争取复选框。我希望根据来自数据库的变量来检查复选框。我可以在控制台中看到该值,因此它已动态填充,但我无法选中该复选框。

我尝试了两件事:

 $(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>

获得某人的见解真是太棒了,谢谢!

亲切的问候, 洛伦

1 个答案:

答案 0 :(得分: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"