【问题标题】:Getting input value after ajax callajax调用后获取输入值
【发布时间】:2020-07-17 22:03:21
【问题描述】:

我有一个表,其中的行是从数据库生成的,并且在每一行中都有一个包含类型编号输入的单元格,我将其作为 id 给出,例如{ id="quantity<?php echo $product->id ?>" },因此它保持唯一。

我可以在第一次成功获取值(在从另一个 php 页面再次生成表的 ajax 请求之前)。但我尝试在 ajax 成功后获得价值,但它给了我undefined

$(".card2").delegate(".buy", "click", function() {
  var order = 1;
  var id = this.value;
  var quantity = $('#quantity' + id).val();
  $.ajax({
    url: "order.php",
    type: "POST",
    data: {
      order: order,
      quantity: quantity,
      prodID: id
    },
    success: function(data) {
      $('.card2').html(data);
    }
  });
});

ajax成功接收到的数据基本上是div“.card2”中要替换的整张表

【问题讨论】:

  • 欢迎来到 Stack Overflow。 this.value 的例子是什么?在 AJAX 调用之后这会改变吗?请提供一个最小的、可重复的示例:stackoverflow.com/help/minimal-reproducible-example
  • 仅供参考,jQuery 的 .delegate() 方法已被弃用。替换是使用.on(),例如$('.card2').on('click', '.buy', function(e) { ... })
  • 是的,我知道它在新版本上已被替换为 on !顺便说一句,谢谢

标签: javascript php jquery ajax web


【解决方案1】:

成功调用后,您将替换整个表。您可以使用 $('.card2').html(data); 将 div 元素替换为返回的数据。 检查返回的“数据”并确保为正在呈现的新表(在数据中)包含相同的输入按钮、ID、处理程序等。

【讨论】:

  • 我做到了!基本上是同一张表,复制粘贴!但我就是不明白,我不知道为什么!它说未定义的值
猜你喜欢
  • 2012-05-16
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2020-12-05
  • 2023-04-09
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多