【问题标题】:Pass jquery chosen value to PHP将 jquery 选择的值传递给 PHP
【发布时间】:2019-03-06 13:33:53
【问题描述】:

我想将以下脚本中的选择值传递给 PHP:

$(window).bind('change', function() {

// Get the values from the select boxes

var d1 = $('#producttype_ID').val(); // producttypeID
// console.log('producttype ID:', d1);
var d2 = $('#productname').val();
// console.log('product ID:', d2);
var d3 = $('#dessertservingID').val(); // dessertservingID
// console.log('Servings:', d3);
var pl1 = $('#ID_portion').val(); // partyloafportionID
// console.log('pl1:', pl1);
var pl2 = $('#partyloafweightID').val(); // partyloafweightID
// console.log('pl2:', pl2);

if (d1 == '' && d2 == '' && d3 == '' && pl1 == '' && pl2 == '') { $('#productprice').val('0.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 1 && pl1 == '' && pl2 == '') { $('#productprice').val('19.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 2 && pl1 == '' && pl2 == '') { $('#productprice').val('24.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 3 && pl1 == '' && pl2 == '') { $('#productprice').val('32.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 4 && pl1 == '' && pl2 == '') { $('#productprice').val('40.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 5 && pl1 == '' && pl2 == '') { $('#productprice').val('48.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 6 && pl1 == '' && pl2 == '') { $('#productprice').val('65.00'); }
else if (d3 == 7 && d1 == 1 && d2 == 1 && pl1 == '' && pl2 == '') { $('#productprice').val('80.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 8 && pl1 == '' && pl2 == '') { $('#productprice').val('98.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 9 && pl1 == '' && pl2 == '') { $('#productprice').val('115.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 10 && pl1 == '' && pl2 == '') { $('#productprice').val('130.00'); }
else if (d1 == 1 && d2 == 1 && d3 == 11 && pl1 == '' && pl2 == '') { $('#productprice').val('170.00'); }
})

例如,如果选择了最后一个值 (170.00),我怎样才能将这个值捕获到我的 ajax 日期中:

$.ajax({
    type: 'POST',
    url: 'myfile.php',
    data: { #productprice: value }
});

这样我就可以将它传递给我的 PHP 脚本:

$productprice = $_POST['productprice'];

感谢您的专业知识,干杯,马克

更新:

试过这个:

....
else if (d1 == 4 && d2 == 27 && d3 == '' && pl1 == 4 && pl2 == 5) { $('#productprice').val('89.00'); }

})

var productpricenew = $('#productprice').val();
console.log(productpricenew);

    $.ajax({
type: 'get',
url: 'AdminMesCommandesNonTraiteesController.php',
data: { key : productpricenew },
    success: function (data) {
        // alert(data);
    }
})

但值“$('#productprice').val();”控制台上返回的是 Null。所以我需要找到一种方法来从 else if 循环中捕获所选值。

【问题讨论】:

  • 试试这个data: { "productprice": $('#productprice').val() }
  • 您之前在stackoverflow.com/questions/55018896/…提出的问题有什么联系吗?
  • 是的,我正在尝试解决上一个问题 |问题,我认为对我来说更好,因为我不是无所不知也不是专家,将我的问题“切割”成我可以处理的小块。如果你不介意...
  • @bassxzero,感谢您的建议。我在 )} 我的 else if 循环之后尝试了这个: var productpricenew = $('#productprice').val();控制台.log(productpricenew); $.ajax({ type: 'get', url: 'AdminMesCommandesNonTraiteesController.php', data: { key : productpricenew }, success: function (data) { // alert(data); } 但返回到控制台的值是null,因此仍在寻找如何从 else if 循环中“捕获”所选值,因为“$('#productprice').val();”没有捕获它...

标签: php jquery ajax


【解决方案1】:

解决方案:

我找到了解决方案(部分原因是我还没有找到将这些值传递给我的控制器的方法,这将是另一个问题的一部分):

Ajax 调用:

...
else if (d1 == 4 && d2 == 27 && d3 == '' && pl1 == 2 && pl2 == 2) { $('#productprice').val('59.00'); }
else if (d1 == 4 && d2 == 27 && d3 == '' && pl1 == 3 && pl2 == 3) { $('#productprice').val('69.00'); }
else if (d1 == 4 && d2 == 27 && d3 == '' && pl1 == 4 && pl2 == 4) { $('#productprice').val('79.00'); }
else if (d1 == 4 && d2 == 27 && d3 == '' && pl1 == 4 && pl2 == 5) { $('#productprice').val('89.00'); }

var rowID = rowid;
var orderID = $('#orderID').val();
var productprice_new = $('#productprice').val();
console.log(productprice_new,rowID,orderID);

$.ajax({
type: 'post',
url: '/assets/ajax/ajaxupdate.php',
data:  {
        'rowid' : rowid,
        'orderID' : orderID,
        'productprice_new' : productprice_new,
        },
            success: function (data) {
                console.log('worked!');
            },
            error: function (data) {
                console.log('Error:', data);
            }
})

正确返回 3 个值

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    相关资源
    最近更新 更多