Laravel:如何在没有表单操作的情况下提交复选框值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel:如何在没有表单操作的情况下提交复选框值?相关的知识,希望对你有一定的参考价值。
我将使用循环以这种方式显示消息:
<tr @if($message->seen == 0) class="unread"
@elseif($message->seen == 1) class=""
@endif
>
<td class="inbox-small-cells">
<div class="checkbox checkbox-default inline-block">
<input type="checkbox" id="checkbox012" name="checked[]" value="{{encrypt($message->id)}}"/>
<label for="checkbox012"></label>
</div>
<a href="{{route('inbox').'/'.encrypt($message->id)}}"><i class="zmdi zmdi-delete inline-block font-16"></i></a>
</td>
<td class="view-message dont-show">
<a href="{{ route('message'). '/' .encrypt($message->id) }}">
{{$message->subject}}
</a>
@if($message->seen == 0)
<span class="label label-warning pull-right">new</span>
@endif
</td>
<td class="view-message ">{{$message->messageSender->email}}</td>
<td class="view-message text-right">
<i class="zmdi zmdi-attachment inline-block mr-15 font-16"></i>
<span class="time-chat-history inline-block">{{ $message->created_at->format('H:i') }}</span>
</td>
</tr>
这里我有名为checked[]
的复选框和带有id
信息的值。我在视图的顶部有这个链接:
<ul class="dropdown-menu">
<li><a href="#"><i class="fa fa-pencil"></i> Mark as Read</a></li>
<li><a href="#"><i class="fa fa-ban"></i> Spam</a></li>
<li class="divider"></li>
<li><a href="#"><i class="fa fa-trash-o"></i> Delete</a></li>
</ul>
可以使用链接<a href="{{ route('name') }}">Delete</a>
来检查复选框值
或者如何正确发送?或者我必须使用表格?
答案
你可以使用javascript提交它,只需使用元素<a>
并在控制器方法上路由href。
另一答案
您可以使用ajax调用来提交用户单击的数据。
我可能没有最好的解决方案,但这就是我所拥有的
为下拉列表分配ID。
并为该id写下onclick事件,并为每个示例分配不同的函数:
<li id="read"><i class="fa fa-pencil"></i> Mark as Read</a></li>
同样为下拉列表中的所有列表提供id并为所有人调用此函数
<script>
$('#read').click(function(){
var val = [];
$(':checkbox:checked').each(function(i){
val[i] = $(this).val();
});
//now you have all the selected message's id in val array which is encrypted
//now you can make ajax call for passing this value to laravel controller and give route to the url : in the ajax
//like :
$.ajax({
type: "POST",
data: {info:val},
url: url_need_to_be_given_here ,
success: function(msg){
console.log(msg);
}
});
});
</script>
这会将所有选定的消息ID传递给url指向的控制器,您可以将其解密并进行查询并执行所需的操作。
如果我对你有帮助,我会很高兴
以上是关于Laravel:如何在没有表单操作的情况下提交复选框值?的主要内容,如果未能解决你的问题,请参考以下文章