动态更新onClick的值

Update value of onClick dynamically

本文关键字:的值 onClick 更新 动态      更新时间:2023-09-26

我正在向订单中添加一个数量字段,其中向卡中添加项目的方式是:

        function updateArchive(id,quant) {
    jQuery.ajax({
        type: "POST",
        url: "' . GBC_PLUGIN_URL . '/includes/gb-order.php",
        data: { "gbID": id , "qtty": quant },
        success: function(data){
            alert("' . __('Item added successfully!', 'gbcart') . '");
        },
        error: function(data){ 
            alert("' . __('This item already exists!', 'gbcart') . '");
        },
    });
}

放入购物车的物品的数量设置为"quant",好吧,这是我的问题:

"updateArchive"功能由以下命令启动:

    <td class="basket"><a href="#" class="gb-button" onclick="updateArchive(125,5); return false;">' . __('Auf die Bestellliste', 'gbcart') . '</a></td>

我唯一需要动态更改的是上面例子中的数字"5"。

当我在输入中插入一个数字时,需要显示这个数字而不是"5"。

试试这个:

function updateArchive(id) {
    var quant = $('input').val();
    jQuery.ajax({
        type: "POST",
        url: "' . GBC_PLUGIN_URL . '/includes/gb-order.php",
        data: { "gbID": id , "qtty": quant },
        success: function(data){
            alert("' . __('Item added successfully!', 'gbcart') . '");
        },
        error: function(data){ 
            alert("' . __('This item already exists!', 'gbcart') . '");
        },
    });
}

$('input')更改为首选类别/id。

您应该避免在元素中使用javascript。尝试使用点击监听器:

HTML:

<td class="basket"><a href="#" class="gb-button" data-id="125">' . __('Auf die Bestellliste', 'gbcart') . '</a>
</td>
<input id="myinput" />

JS:(DOM必须在这段代码之前加载,最好的方法是将其封装在$(document).ready( function() { [here] });中)

$(".gb-button").click(function (e) {
    e.preventDefault(); //to prevent default action of anchor
    var id = $(this).attr("data-id");
    var quant = $("#myinput").val();
    alert("id = "+id+", quant = "+quant); // to see it works
/*  jQuery.ajax({
     ... your code here
    });*/
});

Fiddle