当前位置: 首页 > 知识库问答 >
问题:

jQuery设置复选框已选中

裴令秋
2023-03-14

我已经试过了所有可能的方法,但还是没有成功。我有一个带有复选框模式窗口,我希望当模式打开时,复选框的选中或取消选中应该基于数据库值。(我已经与其他表单字段一起工作了。)我开始试着检查,但没有用。

我的HTML分区:

<div id="fModal" class="modal" >
    ...
    <div class="row-form">
        <div class="span12">
            <span class="top title">Estado</span>
             
          <input type="checkbox"  id="estado_cat" class="ibtn">
       </div>
    </div>             
</div>

和jQuery:

$("#estado_cat").prop( "checked", true );

我也尝试了attr和其他在论坛上看到的,但似乎都不起作用。
有人能给我指出正确的方法吗?

好吧,我真的漏了点什么。如果复选框在页面中,我可以使用代码勾选/取消勾选,但如果它在模态窗口中,我就不能。我试了几十种不同的方法。

我有一个可以打开模式的链接:

<a href='#' data-id='".$row['id_cat']."' class='editButton icon-pencil'></a>

和jQuery来“监听”点击并执行一些操作,例如用来自数据库的数据填充一些文本框。每件事都像我想要的那样工作,但问题是我不能使用代码设置checkbox checked/unchecked。救命啊!

$(function () {
    $(".editButton").click(function () {
        var id = $(this).data('id');
        $.ajax({
            type: "POST",
            url: "process.php",
            dataType: "json",
            data: {
                id: id,
                op: "edit"
            },
        }).done(function (data) {
            // The next two lines work fine,
            // i.e. it grabs the value from database and fills the textboxes
            $("#nome_categoria").val(data['nome_categoria']);
            $("#descricao_categoria").val(data['descricao_categoria']);

            // Then I tried to set the checkbox checked (because it's unchecked by default)
            // and it does not work
            $("#estado_cat").prop("checked", true);
            $('#fModal').modal('show');
        });
        
        evt.preventDefault();
        return false;
    });
});

共有1个答案

岳凯康
2023-03-14

你必须使用'prop'功能

.prop('checked', true);

在jQuery 1.6之前(请参阅user2063626的答案):

.attr('checked','checked')
 类似资料:
  • 问题内容: 我想做这样的事情来使用 jQuery 打勾: 要么 这样的事情存在吗? 问题答案: 现代jQuery 用途: DOM API 如果只使用一个元素,则始终可以访问底层元素并修改其属性: 使用and 方法代替此方法的好处是它们将对所有匹配的元素进行操作。 jQuery 1.5.x及以下 该方法不可用,因此您需要使用。 请注意,这是jQuery 1.6版之前的单元测试所使用的方法,并且比使用

  • 问题内容: 我需要检查复选框的属性,并使用jQuery根据已检查的属性执行操作。 例如,如果选中了年龄复选框,那么我需要显示一个文本框以输入年龄,否则隐藏该文本框。 但是以下代码默认返回: 如何成功查询属性? 问题答案: 复选框DOM元素的属性将为您提供元素的状态。 给定您现有的代码,您可以执行以下操作: 但是,有一种更漂亮的方法可以使用toggle:

  • 问题内容: 我正在Java中使用Selenium来测试Webapp中复选框的检查。这是代码: 我声明并将其分配给复选框所在的区域。 奇怪的是回报,因此 在复选框的HTML中,没有显示属性。但是,不是所有元素都有一个,这样的代码就可以工作吗? 问题答案: 如果您使用的是Webdriver,则正在寻找的项目已选中。 除非指定,否则通常在复选框呈现中实际上不会应用选中的属性。 所以您在Selenium

  • 问题内容: 我需要检查复选框的属性,并使用jQuery根据已检查的属性执行操作。 例如,如果选中了年龄复选框,那么我需要显示一个文本框以输入年龄,否则隐藏该文本框。 但是以下代码默认返回: 如何成功查询属性? 问题答案: 这为我工作: 控件的ID 在哪里。 另外。我不确定测试时错过了什么。 注意,这是使用Microsoft Ajax而不是jQuery的答案

  • 问题内容: 如何在Firefox中设置复选框样式,并取消选中标记和边框? CSS: HTML: 问题答案: input[type=”checkbox”] {

  • 我试图创建一个复选框标签,其中复选框本身是隐藏的,但标签没有因此点击标签,选中复选框,即使没有显示。 我想做的是,当它被选中时,标签保持红色,为此我为复选框活动指定了一个类,但它不起作用。它可以在悬停状态下正常工作,但不能在活动状态下正常工作。当我单击它时,复选框会选中,但标签不会读取活动类。 有什么想法吗? 我使用以下html: 还有下面的css