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

时间:2019-02-09 19:26:07

标签: javascript jquery ajax

当前,我学习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”属性请求的“ value”发送到PHP端,但是不知道如何告诉脚本从中获取“ value”选择“ data-id”,猜测其原因是仅对购物车中第一个生成的产品成功进行POST,而其余产品脚本不起作用。有人可以启发我如何实现这一目标吗?感谢您的建议。

2 个答案:

答案 0 :(得分:1)

您需要更好地构造html。

我对html进行了一些更改,并将每个 string[] tmp = "Cats are craze".ToLower().Split(new string[] { " " }, StringSplitOptions.None); var cats = ElasticMain.Search<dynamic>(s => s.From(from).Size(20).Query( q => q.Bool( b => b.MinimumShouldMatch(tmp.Length).Should( l => l.Terms( t => t.Name("name").Field("name").Terms(tmp))) ))); btn放在一个div下。

这将使通过其field查找所选输入更加容易。

阅读评论以了解

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())
    });
});

答案 1 :(得分:0)

$('button').on('click',function(){
  var data = $(this).data('id');
  var url = 'your php file';
  $.post(url,data,function(rdata){
    //do whatever yo want with returned data
  });
});