如何在用户点击复选框后更新MySQL表格中的一个字段。 我有这个:
$raw1 -replace '(?s)extends.*?{', '{'
和
<div style="float: right"><input type="checkbox" class="tvSync" data-toggle="toggle" data-onstyle="success" onclick="myFunction({{$spot->spotid}})"></div>
我创建了路由function myFunction(id)
{
var spotid=spotid;
$.ajax({
type:'post',
url:'updateTvSync',
data:{spotid: spotid},
success:function(msg){
console.log(msg)
}
});
}
并将其包含在控制器中:
/updateSync
但是当我点击复选框时没有任何反应。这个public function updateTvSync(Request $request)
{
$id = $request->spotid;
TV::where('spotid', $id)->update(['delayed' => 1]);
}
是否需要处于形式中,或者我在这里遗漏了什么?
答案 0 :(得分:4)
var spotid=spotid;
应该是
var spotid=id;
spotid未定义
答案 1 :(得分:0)
尝试为您的复选框提供ID并删除onclick功能
<input id="{{$spot->spotid}}" type="checkbox" class="tvSync" data-toggle="toggle" data-onstyle="success">
添加此JQuery,您调用错误的路由/updateTvSync
而不是/updateSync
。在你的ajax网址。
<script>
$(document).on('click','.tvSync',function(){
var id=$(this).attr('id');
alert(id);
$.ajax({
type:'post',
url:'/updateSync',
data:{spotid: id},
success:function(msg){
console.log(msg)
}
});
});
</script>