【发布时间】:2021-01-26 09:22:51
【问题描述】:
我一直试图通过 JQuery 使用的 data 属性传递这些数据,但由于某种原因,当我在控制台记录它们时,其中一些是未定义的。正如您在图片中看到的,只有 $subscription->id 和 $subscription->tax 变量被 JQuery 读取,而其余的未定义。
我正在使用laravel blade,这是负责将这些数据发送到JQuery的代码:
<a
class="btn btn-sm mt-1 btn-light btn-outline-dark col-12"
href="#"
data-toggle="modal"
data-target="#edit-subscription-modal"
data-id="{{$subscription->id}}"
data-cId="{{$subscription->customer_id}}"
data-uId="{{$subscription->user_id}}"
data-pId="{{$subscription->product_id}}"
data-sDate="{{$subscription->startDate}}"
data-eDate="{{$subscription->endDate}}"
data-pTerms="{{$subscription->paymentTerms}}"
data-tax="{{$subscription->tax}}"
>Edit</a>
当我 dd() 刀片文件上的变量时,它们确实返回数据,但是当我在控制台中将它们登录到 JQuery 时,它们变成了 undefined。这是JQuery代码块:
$('#edit-subscription-modal').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Button that triggered the modal
var subscriptionId = button.data('id')
var customerId = button.data('cId')
var userId = button.data('uId')
var productId = button.data('pId')
var startDate = button.data('sDate')
var endDate = button.data('eDate')
var paymentTerms = button.data('pTerms')
var tax = button.data('tax')
var modal = $(this)
console.log(subscriptionId)
console.log(customerId)
console.log(userId)
console.log(productId)
console.log(startDate)
console.log(endDate)
console.log(paymentTerms)
console.log(tax)
modal.find('.modal-body #subscription-id').val(subscriptionId)
})
我尝试更改data attributes 的名称,但仍然没有雪茄。我希望有人能阐明这一点。
【问题讨论】:
-
$('#edit-subscription-modal').on将其替换为$('.className').on并将该类添加到a标记 -
@KamleshPaul 也试过了,将 'edit-sub-modal' 类分配给锚标签并将
$('#edit-subscription-modal').on更改为$('.edit-sub-modal').on,当我这样做时它根本没有 console.log那 -
嗨,检查this小提琴这是你需要的吗?
-
@Swati 谢谢,但是在尝试这个之后,console.log 只是返回所有未定义的数据:(
-
但它在演示代码中工作。不确定是什么问题
标签: php jquery laravel laravel-blade