我尝试创建多个表,我可以在表之间移动表行,并让ajax调用一个php脚本,用新值更新数据库,即行的新父。
它现在只有html和javascript,我想知道ajax部分应该如何调用更新数据库的PHP脚本?如果我应该对javascript / html部分进行一些更改?
HTML:
<table class="tables_ui" id="t_draggable1"><h4>Table 1</h4>
<tbody class="t_sortable">
<tr>
<th>Title</th>
<th>Status</th>
<th>Creation date</th>
</tr>
@foreach($tasks as $task)
<tr class="row1" data-id="{{ $task->id }}">
<td>{{ $task->title }}</td>
<td>{{ ($task->status == 1)? "Completed" : "Not Completed" }}</td>
<td>{{ date('d-m-Y h:m:s',strtotime($task->created_at)) }}</td>
</tr>
@endforeach
</tbody>
</table>
<table class="tables_ui" id="t_draggable2"><h4>Table 2</h4>
<tbody class="t_sortable">
<tr>
<th>Title</th>
<th>Status</th>
<th>Creation date</th>
</tr>
<!-- More <td> rows here ... -->
</tbody>
</table>
<!-- More tables here ... -->
使用Javascript:
<script>
$(document).ready(function() {
var $tabs = $('#t_draggable2')
$("tbody.t_sortable").sortable({
connectWith: ".t_sortable",
items: "> tr:not(:first)",
appendTo: $tabs,
helper:"clone",
zIndex: 999990
}).disableSelection();
var $tab_items = $(".nav-tabs > li", $tabs).droppable({
accept: ".t_sortable tr",
hoverClass: "ui-state-hover",
drop: function( event, ui ) { return false; }
});
});
</script>
答案 0 :(得分:0)
对于$.ajax
中的js
来电,你应该注意一些关于你想传递给PHP
文件的内容以及你想要的内容返回(response)
。下面发布数据的简单$.ajax
调用:
var Example1 = "123";
var Example2 = "456";
$.ajax({
type: "POST",
data: {
Example1: example1,
Example2: example2
},
url: "config/post.php",
success: function(){
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 100);
}
})
在上面的示例中,variables (var)
,“Example1”和“Example2”将作为数据插入到请求中。
在你的url:
中,你将指定你的php文件的帖子网址。
在PHP
文件中,您可以使用data {
中的第二个$_REQUEST
属性获取数据,请参阅以下示例:
$ example1 = $ _REQUEST ['example1']; $ example2 = $ _REQUEST ['example2'];
echo $ example1。 $示例2;
要检查您的数据是否已获取,您可以使用console.log()
电话上方的$.ajax
功能确定。
var Example1 = "123";
var Example2 = "456";
// Check for the values
console.log(Example1 + Example2)
$.ajax({
type: "POST",
data: {
Example1: example1,
Example2: example2
},
url: "config/post.php",
success: function(){
setTimeout(function(){// wait for 5 secs(2)
location.reload(); // then reload the page.(3)
}, 100);
}
})
我希望这有帮助,如果您有任何疑问,请在评论部分询问! (: