比较两个变量与生成的数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了比较两个变量与生成的数字相关的知识,希望对你有一定的参考价值。

目前我学习了php的曲线,并且第一次尝试向我的PHP脚本发出AJAX请求。我在自己的书店购买了购物车用于学习目的,它为每个位置生成具有相同“data-id”属性的按钮和输入字段。当然,输入字段具有当前产品数量的“值”属性。

码:

jQuery的:

$(document).ready(function() {
    $(".btn").click(function () {
        var id = $(this).attr("data-id");
        var idInput = $(".field").attr("data-id");
        var value = $(".field").attr("value");
        if (id === idInput) {
            $.post("/cart/addAjax/" + id, {}, function (data) {
                $("#cart-count").html(data);
            });
            $.post("/cart/addAjax/" + value, {});
            return false;
        } else {}
    });
});

PHP生成的HTML输入示例:

            <input class="field" data-id="3" type="number" value="23">
            <button class="btn" data-id="3">Quantity</button>

            <input class="field" data-id="14" type="number" value="3">
            <button class="btn" data-id="14">Quantity</button>

            <input class="field" data-id="17" type="number" value="2">
            <button class="btn" data-id="17">Quantity</button>

            <input class="field" data-id="18" type="number" value="8">
            <button class="btn" data-id="18">Quantity</button>

            <input class="field" data-id="19" type="number" value="10">
            <button class="btn" data-id="19">Quantity</button>

我希望Jquery脚本比较输入/按钮“data-id”属性并将所选“data-id”属性请求的“值”发送到PHP端,但不知道如何告诉脚本从所选“数据”获取“值” -id“,猜测其POST成功的原因仅在于购物车中的第一个生成的产品,因为其余的产品脚本不起作用。有人可以赐教我如何实现这个目标吗?谢谢你的建议。

答案

你需要更好地构建你的html。

我对html进行了一些更改,并将每个btnfield放在div下。

这将使其更容易通过其qazxsw poi找到所选输入。

阅读评论以了解。

btn click
$(document).ready(function() {
    $(".btn").click(function () {
        var id = $(this).attr("data-id");
        // now go to the selected btn Parent, and then find the .field
        // there you are sure its the right field becouse both the button       
        // and the field is containe under one div{Parent}
        var idInput = $(this).parent().find(".field")
       console.clear();
       console.log("you Selected id " +id + " and its value is " + idInput.val())
    });
});
另一答案

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>

            <input class="field" data-id="3" type="number" value="23">
            <button class="btn" data-id="3">Quantity</button>
  </div> 
  <div>
            <input class="field" data-id="14" type="number" value="3">
            <button class="btn" data-id="14">Quantity</button>
   </div>
   <div>
            <input class="field" data-id="17" type="number" value="2">
            <button class="btn" data-id="17">Quantity</button>
    </div>
    <div>
            <input class="field" data-id="18" type="number" value="8">
            <button class="btn" data-id="18">Quantity</button>
   <div>
            <input class="field" data-id="19" type="number" value="10">
            <button class="btn" data-id="19">Quantity</button>
   </div>

以上是关于比较两个变量与生成的数字的主要内容,如果未能解决你的问题,请参考以下文章

JS 判断两个数字的大小

结对编程(宫丽君和林莉):四则运算

图片旋转对于识别模式带来的变化

两个值比较大小,c语言运行时如何输入两个数字

Android:将片段和弹出窗口的点击事件中生成的变量传递给活动的方法

片段 - 全局视图变量与本地和内部类侦听器和内存泄漏