通过ajax将变量传递给php页面

时间:2018-05-09 12:50:42

标签: php ajax

我有一个问题,当使用ajax的passwing值我有一个加号和减号按钮和输入时,我使用输入它很好地传递值但加上或减去它不起作用它只适用于一个项目和另一个项目items取第一个

的相同值
 <button class="entry number-minus" data-id="<?=$cartRowID?> " type="button">&nbsp;</button>
 <input type="hidden" name="itemSizesList" value="<?=$itemSizeList?>" />
 <input id="itemid" type="hidden" name="submittedForm" value="<?=$cartItemdID?>_<?=$cartListCounter?>" />
 <input type="hidden" name="itemID" value="<?=encrypt_decrypt("encrypt",$cartItemdID)?>" />
 <input type="hidden" name="cartRowID" value="<?=encrypt_decrypt("encrypt",$cartRowID)?>" />
 <input class="entry number " name="newQty" data-id="<?=$cartRowID?>" value="<?=$cartItemQty?>" style="margin-top: 1px; width:44px"/>
 <button class="entry number-plus" data-id="<?=$cartRowID?>" type="button">&nbsp;</button>
 <input type="submit" class="button style-17" value="Remove" name="delete" />
 <input type="submit" class="button style-15" value="Update cart" name="update" />

ajax代码:

// WHEN - IS CLICKED
 $(document).on('click', '.number-minus', function(){
            var rowid = $(this).data("id");
            var qty = $('.number').val();
            // edit_data(eachItemSize, "eachItemSize");

            $.ajax({
                url:"update.php?rowid="+rowid+"qty="+qty,
                method:"POST",
                data:{rowid:rowid , qty:qty},
                dataType:"text",
                success:function(data){
                    alert(data);
                }
            });
        });

        // WHEN + IS CLICKED
        $(document).on('click', '.number-plus', function(){
            var rowid = $(this).data("id");
            var qty = $('.number').val();
            // edit_data(eachItemSize, "eachItemSize");

            $.ajax({
                url:"update.php?rowid="+rowid+"qty="+qty,
                method:"POST",
                data:{rowid:rowid , qty:qty},
                dataType:"text",
                success:function(data){
                    alert(data);
                }
            });
        });

2 个答案:

答案 0 :(得分:0)

您正在按类而不是ID来获取值!

因此,当您调用var qty = $('.number').val();时,您可能会获得第一项的值,假设这是一行,并且还有其他行也包含这些字段。

更新:好的,你有多个表格。因此,使用jQuery获取类.number的正确字段的最简单方法可能是使用.parent().find()

var qty = $(this).parent().find('.number').val();

这假设.parent()将返回表单元素,而.find()仅在该表单中进行检查。

答案 1 :(得分:0)

HTML部分:

我在data-id = 12中为减号按钮输入静态值&amp;类号=值= 6。当输入减号按钮时,我会收到警报值。如果这不是解决方案,那么告诉我究竟是什么打破..

<button class="entry number-minus" data-id="12" type="button">-</button>
 <input type="hidden" name="itemSizesList" value="" />
 <input id="itemid" type="hidden" name="submittedForm" value="" />
 <input type="hidden" name="itemID" value="" />
 <input type="hidden" name="cartRowID" value="" />
 <input class="entry number " name="newQty" data-id="" value="6" style="margin-top: 1px; width:44px"/>
 <button class="entry number-plus" data-id="" type="button">+</button>
 <input type="submit" class="button style-17" value="Remove" name="delete" />
 <input type="submit" class="button style-15" value="Update cart" name="update" />

脚本部分:

$(document).on('click', '.number-minus', function(){

            var rowid = $(this).data("id");
            var qty = $('.number').val();
            // edit_data(eachItemSize, "eachItemSize");
            alert(rowid);
            alert(qty);
            $.ajax({
                url:"update.php?rowid="+rowid+"qty="+qty,
                method:"POST",
                data:{rowid:rowid , qty:qty},
                dataType:"text",
                success:function(data){
                    alert(data);
                }
            });
        });