我正在尝试对laravel中的字段进行拖放更新。
所有后端工作正常,如果我对值进行硬编码,但数据库会更新,但是我需要在javascript中提取2个变量。
我在脚本的前面加载了jquery 3.3.1。
发布数据时,我的userId出现问题。它要么总是使用列表中的最后一个ID,要么如果我使用变量userIds,它将通过数组。
<style href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css"></style>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
$(function() {
@foreach($users as $user)
$("#draggable-{{$user->id}}").val({{$user->id}}).draggable({
refreshPositions: true,
snap: true,
revert: true,
});
@endforeach
var userIds = {{$userID}};
userIds.forEach(function(element) {
if(element === {{$user->id}}) {
var userId = {{$user->id}};
}
});
@foreach($funders as $funder)
$("#droppable-{{$funder->funder}}").droppable({
activeClass: "active",
hoverClass: "hover",
drop: function (event, ui) {
$.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
type: "POST",
url: '{{route('update-funders')}}',
dataType: 'json',
data: {'funder':$("#droppable-{{$funder->funder}}").attr('data'), 'id': userId },
}).done(function( data ) {
// console.log(data);
// var result = $.parseJSON(data);
});
}
});
@endforeach
});
</script>
答案 0 :(得分:0)
$("#droppable-{{$funder->funder}}").droppable({
activeClass: "active",
hoverClass: "hover",
drop: function (event, ui) {
let userId = ui.draggable.attr('data-id');
$.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
type: "POST",
url: '{{route('update-funders')}}',
dataType: 'json',
data: {'funder':$("#droppable-{{$funder->funder}}").attr('data'), 'id': userId },
}).done(function( data ) {
// var result = $.parseJSON(data);
});
}
});