我创建了一个按钮来批准表中的一行,但似乎一切都只发生在检查中,而mysql Database Boolean Column中没有任何变化
我的按钮
<td><button><a href="/getapprove"><span class="approva" name="appro">Approve</span></a></button></td>
这是我的脚本部分
@section('scripts')
<script type="text/javascript">
$(document).ready(function(){
$(".approva").click(function(e) {
e.preventDefault();
var id = $(this).closest('tr').attr('id');
$.ajax({
type:'POST',
url:'/getapprove',
headers: {'X-CSRF-TOKEN': '{{ csrf_token() }}' },
data: {"id":id},
success: function(data){
console.log('changed successfully')
}
});
});
});
</script>
@endsection
我的路线文件
Route::post('/getapprove','AdminalterdetailController@approve')->name('approved');
控制器功能:
'条件'是我在数据库中的布尔列
public function approve(Request $request){
$rpt = Fielddetails::findOrFail($request->id);
if ($rpt->condition == 1){
$rpt->condition = 0;
} else {
$rpt->condition = 1;
}
$rpt->save();
我如何才能获得上述工作?
javascript大神给出的解决方案
我会这样的
在数据库表中,布尔值condition
列的类型必须为tinyInt
。
Fielddetails.php
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'condition' // <-- make sure you have added this in your model file
];
路线/web.php
Route::get('/getapprove/{id}','AdminalterdetailController@approve')
->name('approved');
{id}
是您要更新的表的ID。
控制者
/**
* Approve the data of the given id.
*
* @param integer $id
* @return Your-Response-Or-Redirect
*/
public function approve($id, Request $request)
{
$rpt = Fielddetails::findOrFail($id);
if ($rpt->condition == true) {
$rpt->update(['condition' => false]);
}
if ($rpt->condition == false) {
$rpt->update(['condition' => true]);
}
// return your success response or redirect
}
jQuery的
<script type="text/javascript">
$('body').on('click', '.approva', function(e) {
e.preventDefault();
$.ajax({
type: 'GET',
url: $(this).attr('href'),
success: function(data) {
console.log(data);
},
error: function(err) {
console.log(err);
},
});
});
</script>
请注意,每当用户想要单击批准链接时,我都会处理click事件。
这是因为,我假设将存在多个具有相同链接的记录具有不同ID的记录。
table.blade.php
<td>
<a href="{{ route('approved', $yourId) }}" class="button approva">
Approve
</a>
</td>
将$yourId
替换为您的实际记录ID。
要进行引用,可以查看this question。它是关于使用AJAX删除记录的,与您的问题不同,但是它一定会对您有所帮助。
编码愉快。干杯..
剃刀付款集成->如何通过关闭按钮X检测剃刀付款模型是否关闭 - javascript当用户关闭而无需付款时,我在CI框架中使用Razorpay,请创建razor支付模型,然后取消订单,我希望按状态更改为已取消的状态触发查询。所以我怎么能检测到这一点。我已经通过单击jQuery单击关闭功能但无法使用... javascript大神给出的解决方案 Razorpay提供了JS方法来检测模式关闭。您编写的任何JS代码都不会在结帐页面上运行,因为它是…
服务器响应后如何在Symfony2中显示警报或信息消息而无需重新加载页面 - javascript我正在用Symfony2为配镜师创建一个管理应用程序。当管理员将新客户添加到数据库时,我的控制器将检查客户名称是否重复。我想显示一个弹出对话框,询问用户是否要添加新客户。我该如何实施?我应该使用Ajax吗?这是我在这种情况下使用的控制器的示例代码:public function nouveauAction(Request $request) { $form …
在Wordpress插件中加载自定义JavaScript - javascript好的,这让我发疯了:我正在尝试构建一个简单的Wordpress插件,并且正在尝试确保js与php分开。我已经看过了法典和各种教程,但要么都是在做假设,要么是我只是个白痴,因为它不起作用...基本上,我最终希望通过ajax向自定义添加一些行添加帖子时使用表格,但首先我要让“ Hello World”在“添加帖子”页面上工作...当然,这很简单:这是myplug…
jQuery val函数在隐藏字段上不起作用? - javascript这是我的HTML代码:<div style='display:none;' id='allformid'> <div> <form action='#'> <input type='text' name='name' …
对Flask-Admin字段覆盖使用ACE语法荧光笔 - javascript在遵循以下有关覆盖flask-admin字段的提示之后,我试图使Ace语法荧光笔工作。https://flask-admin.readthedocs.io/en/latest/advanced/#wysiwig-text-fields这个想法是使SQLServer语法在wtforms文本区域上突出显示。此尝试不起作用,不确定额外的js中还包括什么?class…