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

检查复选框是否选中而不单击它

孟树
2023-03-14

我有一个输入复选框被修改为按钮,一个是批准的,一个是拒绝的,当选中批准时,它会选中复选框等,一旦选中,第三个按钮保存提交。如果我在没有使用按钮的情况下选中该复选框,那么我的脚本可以正常工作,但是我会释放已经与按钮相关联的其他功能

下面的代码基于WooCommerce order received页面中通过AJAX更新order状态

我如何监听和检测是否选中了复选框,即使它是通过选择按钮而不是实际的复选框选中的。

null

$(document).ready(function() {
    $(".wcfa-save-button").click(function() {
        if ($("input[type=checkbox]").is(":checked")) {
            alert("Check box is Checked");


            $('button.wcfa-save-button').click(function(e) {
                e.preventDefault();

                $.ajax({
                    type: 'POST',
                    dataType: 'json',
                    url: "woocommerce_params.ajax_url",
                    data: {
                        'action': 'redeem_complete',
                        'order_id': orerId, // Here we send the order Id
                    },
                    success: function(response) {
                        $('.response').text("Order data successfully fetched.");
                        console.log("Order data successfully fetched.");
                    }
                });
            });

        } else {
            alert("Check box is Unchecked");
        }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" name="wcfa-attachment" class="wcfa-hidden" id="wcfa-approved-result" data-id="attachmentID">

<button id="wcfa-approve-button-ID" class="button wcfa-approve-button" data-approval="approved" data-id="attachmentID">Approve</a>
<button id="wcfa-reject-button-attachmentID" class="button wcfa-reject-button" data-approval="rejected" data-id="attachmentID">Reject</a>
<button class="button wcfa-save-button wcfa-disable-during-transition" data-id="attachmentID">Save</button>

null

共有1个答案

司马飞
2023-03-14

如果选中了复选框或没有使用“长度”,您可以执行如下操作:

$(document).ready(function() {
    function checkIfChecked(){
        if ($("input[type=checkbox]").is(":checked").length > 0) {
            alert("Check box is Checked");


            $('button.wcfa-save-button').click(function(e) {
                e.preventDefault();

                $.ajax({
                    type: 'POST',
                    dataType: 'json',
                    url: "woocommerce_params.ajax_url",
                    data: {
                        'action': 'redeem_complete',
                        'order_id': orerId, // Here we send the order Id
                    },
                    success: function(response) {
                        $('.response').text("Order data successfully fetched.");
                        console.log("Order data successfully fetched.");
                    }
                });
            });

        } else {
            alert("Check box is Unchecked");
        }
    });
});
 类似资料:
  • 问题内容: 如何检查是否使用复选框数组的ID选中了复选框数组中的复选框? 我正在使用以下代码,但无论ID为何,它始终返回已选中复选框的数量。 问题答案: ID在您的文档中必须是唯一的,这意味着您 不应该这样 做: 而是放下ID,然后按名称或包含元素选择它们: 现在是jQuery:

  • 我试图创建一个表单,该表单顶部有一个复选框,当用户选中该复选框时,它会选择其他特定的复选框,但不是所有复选框。我很难通过反复试验或搜索找到答案。我唯一能找到的就是“全选”选项。不是我想要的。 理想情况下,当用户选中“管理包”旁边的复选框时,我想要“Chrome外观组”和“远程启动” 下面是代码和我在这方面的基本尝试,但它不起作用。提前谢谢。 超文本标记语言: Javascript 我不知道这个Ja

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

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

  • 当我第一次点击它的时候,它点击了,但是没有关掉... 我试过这个,它检查和取消检查,但只有一次。 这个对我也不起作用。 null null