开发者社区> 问答> 正文

为什么我的ajax呼叫取消附加不起作用[替代点击,附加/取消附加]

有这个ajax代码

    $(".ver").click(function(event) {
        var pulsado = $(this).data("dnipass");
        state = $(this).closest('.form-group').next('.userInfo').data("state");
        console.log(state);
        state = 1 - parseInt(state); //evaluates to 0 by default, then always to 1, instead of alternating 0/1/0/1/0/1....

        alert(pulsado);
        event.preventDefault();
        var prueba;
        $.ajax({
            type: 'POST',
            url: 'adminVerLineas.php',
            data: {
                dni: $(this).data("dnipass"),
            },
            success: (data) => {


                switch (state) {

                    case 1:
                        $(this).closest('.form-group').next('.userInfo').append(data);
                        $(this).closest('.form-group').next('.userInfo').attr("data-state", "1");

                        break;
                    case 0:
                        $(this).closest('.form-group').next('.userInfo').text('');
                        $(this).closest('.form-group').next('.userInfo').attr("data-state", "0");
                        break;
                }

            }

        });

    });
})

调用此html代码

                                <tr>
                                    <td colspan="2">
                                    <!-- -->
                                            <!-- Button -->
                                            <div class="form-group">
                                              <label class="col-md-4 control-label" for="ver"></label>
                                              <div class="col-md-4">
                                                <button data-dnipass="<?= $dni?>" class="ver" name="ver" class="btn btn-primary">Ver líneas</button>
                                              </div>
                                            </div>   
                                        <table id ="<?= $i?>" class="table userInfo" data-formpost="<?= $dni?>" data-state="0"></table> 
                                    </td>

                                </tr>

                            <?php } ?>

这就是我的数据状态代码不需点击即可显示的样子

这就是第一次点击时的样子
这就是第二次点击和所有后续点击的外观
它基本上停止了变化,但是我不确定为什么似乎state = $(this).closest('.form-group').next('.userInfo').data("state");开始总是选择0,而是新生成的1,所以在我的ajax调用中,第6个state = 1-parseInt(state);总是求值为1,所以我无法进行属于0的开关

展开
收起
社区秘书 2019-11-27 16:22:16 597 0
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载