如何传递所选行的值以弹出警报?
How to pass value of selected row to pop up alert?
我有 table 由值组成。所以每一行都有重复的按钮。当用户按下复制按钮时,它会将值发送到 sweetalert2 弹出窗口。但是,它没有得到价值。我已经在 sweetalert 的文本中调用了 {{item->description}}
,但它没有传递值?如何通过呢?我通过 {{item->id}}
at duplicate 按钮,但它不起作用。
html
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Description</th>
<th scope="col">Plan</th>
<th scope="col">From</th>
<th scope="col">To</th>
<th scope="col">Amount (RM)</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<?php $count = 1; ?>
@foreach ($packages as $item)
<tr>
<th scope="row">{{$count++}}</th>
<td>{{$item->description}}</td>
<td>{{$item->Plan->name}}</td>
<td>{{$item->from}}</td>
<td>{{$item->to}}</td>
<td>{{$item->price}}</td>
<td>
<a class="btn btn-xs btn-dark" href="/admin/insurance/product/package/edit/{{$product->id}}/{{$item->id}}">Edit</a>
<a class="deletePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}"
id="delete" href="#">Delete</a>
<a class="duplicatePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}"
id="delete1" href="#">Duplicate</a>
</td>
</tr>
@endforeach
</tbody>
</table>
javascript
$( ".duplicatePlanRecord" ).click(function(e) {
Swal.fire({
title: 'Are you sure to duplicate the plan?',
text: 'try {{$item->description}}',
input: 'text',
inputAttributes: {
autocapitalize: 'off'
},
showCancelButton: true,
confirmButtonText: 'Look up',
showLoaderOnConfirm: true,
preConfirm: (login) => {
return fetch(`//api.github.com/users/${login}`)
.then(response => {
if (!response.ok) {
throw new Error(response.statusText)
}
return response.json()
})
.catch(error => {
Swal.showValidationMessage(
`Request failed: ${error}`
)
})
},
再添加一个数据属性 (data-description)
到复制按钮 link 并从中删除重复的 id (id="delete1")
,不需要:-
<a class="duplicatePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}" data-description="{{ $item->description }}" href="javascript:void(0);">Duplicate</a>
并在 JavaScript 中进行以下更改:
$( ".duplicatePlanRecord" ).click(function(e) {
var id = $(this).data('id'); //get id
var desc = $(this).data('description'); //get description
Swal.fire({
title: 'Are you sure to duplicate the plan?',
text: 'try id', // or use 'try desc'
.... rest of the code
注意:- 如果 'try id'
或 'try desc'
不起作用,则使用 'try '+id
或 'try '+desc
。以及从其他 link 中删除重复的 (id="delete")
。
我有 table 由值组成。所以每一行都有重复的按钮。当用户按下复制按钮时,它会将值发送到 sweetalert2 弹出窗口。但是,它没有得到价值。我已经在 sweetalert 的文本中调用了 {{item->description}}
,但它没有传递值?如何通过呢?我通过 {{item->id}}
at duplicate 按钮,但它不起作用。
html
<table class="table table-striped">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Description</th>
<th scope="col">Plan</th>
<th scope="col">From</th>
<th scope="col">To</th>
<th scope="col">Amount (RM)</th>
<th scope="col">Action</th>
</tr>
</thead>
<tbody>
<?php $count = 1; ?>
@foreach ($packages as $item)
<tr>
<th scope="row">{{$count++}}</th>
<td>{{$item->description}}</td>
<td>{{$item->Plan->name}}</td>
<td>{{$item->from}}</td>
<td>{{$item->to}}</td>
<td>{{$item->price}}</td>
<td>
<a class="btn btn-xs btn-dark" href="/admin/insurance/product/package/edit/{{$product->id}}/{{$item->id}}">Edit</a>
<a class="deletePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}"
id="delete" href="#">Delete</a>
<a class="duplicatePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}"
id="delete1" href="#">Duplicate</a>
</td>
</tr>
@endforeach
</tbody>
</table>
javascript
$( ".duplicatePlanRecord" ).click(function(e) {
Swal.fire({
title: 'Are you sure to duplicate the plan?',
text: 'try {{$item->description}}',
input: 'text',
inputAttributes: {
autocapitalize: 'off'
},
showCancelButton: true,
confirmButtonText: 'Look up',
showLoaderOnConfirm: true,
preConfirm: (login) => {
return fetch(`//api.github.com/users/${login}`)
.then(response => {
if (!response.ok) {
throw new Error(response.statusText)
}
return response.json()
})
.catch(error => {
Swal.showValidationMessage(
`Request failed: ${error}`
)
})
},
再添加一个数据属性 (data-description)
到复制按钮 link 并从中删除重复的 id (id="delete1")
,不需要:-
<a class="duplicatePlanRecord btn btn-xs btn-danger" data-id="{{ $item->id }}" data-description="{{ $item->description }}" href="javascript:void(0);">Duplicate</a>
并在 JavaScript 中进行以下更改:
$( ".duplicatePlanRecord" ).click(function(e) {
var id = $(this).data('id'); //get id
var desc = $(this).data('description'); //get description
Swal.fire({
title: 'Are you sure to duplicate the plan?',
text: 'try id', // or use 'try desc'
.... rest of the code
注意:- 如果 'try id'
或 'try desc'
不起作用,则使用 'try '+id
或 'try '+desc
。以及从其他 link 中删除重复的 (id="delete")
。