gpt4 book ai didi

javascript - 如何使用 jQuery-Tabledit 和 Laravel 更新表格行

转载 作者:行者123 更新时间:2023-11-30 14:52:56 25 4
gpt4 key购买 nike

在 Laravel 中,我需要将行 ID 指定为请求 URL 的一部分以便更新它,例如:http://localhost/contacts/16

问题出在使用 jQuery-Tabledit 时,因为它在初始化时(在页面加载时)需要 URL。

那么问题来了,如何在jQuery-Tabledit中设置当前行ID为URL?

HTML:

<table class="table table-striped table-bordered" id="contactsTable">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th class="tabledit-toolbar-column"></th>
</tr>
</thead>
<tbody>
@if($contacts)
@foreach ($contacts as $contact)
<tr id="{{$contact->id}}">
<td><span class="tabledit-span tabledit-identifier">{{$contact->id}}</span><input class="tabledit-input tabledit-identifier" type="hidden" name="id" value="{{$contact->id}}" disabled=""></td>
<td class="tabledit-view-mode"><span class="tabledit-span">{{$contact->first_name}}</span><input class="tabledit-input form-control input-sm" type="text" name="first_name" value="{{$contact->first_name}}" style="display: none;" disabled=""></td>
<td class="tabledit-view-mode"><span class="tabledit-span">{{$contact->last_name}}</span><input class="tabledit-input form-control input-sm" type="text" name="last_name" value="{{$contact->last_name}}" style="display: none;" disabled=""></td>
</tr>
@endforeach
@endif
</tbody>

JavaScript:

<script>
$( document ).ready(function() {
$('#contactsTable').Tabledit({
url: 'http://localhost/contacts/22',
saveButton: false,
columns: {
identifier: [0, 'id'],
editable: [[1, 'first_name'], [2, 'last_name']]
}
});
});

如您所见,url: ' http://localhost/contacts/22 ' 是问题所在。上面的代码按预期工作,但仅更新第 22 行,因为 jQuery-Tabledit URL 已固定编码到第 22 行。

最佳答案

我假设您的 jquery 位于当前 Blade 中。因此这些括号:{{ }}, {!! !!} 仅当您使用扩展名 .blade.php.

时才会被视为模板

所以你可以做的是简单地使用 Blade 来回显使用括号的contact id

<script>
$( document ).ready(function() {
$('#contactsTable').Tabledit({
url: 'http://localhost/contacts/'+{!! $contact->id !!},
saveButton: false,
columns: {
identifier: [0, 'id'],
editable: [[1, 'first_name'], [2, 'last_name']]
}
});
});

或者只是将联系人集合序列化为json:

$('#contactsTable').on('click', function(){
let contacts = {!! $contacts->toJson() !!};

// now you can access all attributes that are defined in Contacts model
// example contact id

let contact_id = contacts.id;


}

关于javascript - 如何使用 jQuery-Tabledit 和 Laravel 更新表格行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com