如何从头开始重复 jquery 中的点击事件,就好像什么都没发生一样
how to repeat click event in jquery from the beginning as if nothing happened
我想在每次单击锚标记时重复相同的功能,但会产生新的结果。例如我有 3 件物品
a = 0 , b = 0 , c = 1 当我点击 a , b , c 的锚标签时,我在控制台中看到: a = 1 ,b = 1 , c = 0 一次,每次我点击这些项目相同的结果出现在控制台中(a = 1,b = 1,c = 0)但是当我重新加载页面并单击这些项目时它完美地工作所以当我单击 a 它再次变为 0 并且其余两个项目也是如此(当我在刷新页面后再次单击时:b = 0,c = 1)现在...我想在不重新加载页面的情况下执行此操作,所以当我单击项目 a(a = 0 例如)它应该更改为( a = 1 )再次单击(然后 a = 0 )并在此先感谢
/////////// 我的 jquery //////////////////
$('.admin-btn').on("click",function(event){
event.preventDefault();
var userId = event.target.parentNode.parentNode.childNodes[1].textContent;
var admin = 0;
var isAdmin = event.target.dataset['isadmin'];
if(admin == isAdmin){
admin = 1;
$.ajax({
method:'POST',
url:makeAdminUrl,
data:{ Admin:admin , userId:userId , _token:token}
})
.done(function(msg){
console.log(msg['Admin']);
});
});
/////////// html //////////
@extends('cp.master')
@section('title','users')
@section('page-content')
<div class="row" style="margin-top:20px;">
<div class="col-md-12">
<table class="table">
<thead>
<th>#</th>
<th>Name</th>
<th>Created at</th>
<th>Action</th>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<th>{{ $user->id }}</th>
<td>{{ $user->username }}</td>
<td>{{ $user->created_at }}</td>
<td>
<a data-isadmin="{{ $user->admin }}" href="#" class="btn btn-primary admin-btn">Admin</a>
<a href="#" class="btn btn-danger ban-btn">Ban</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="text-center">
{{ $users->links() }}
</div>
</div>
<script type="text/javascript">
var makeAdminUrl = '{{ route('makeAdmin') }}';
var token = '{{ Session::token() }}';
</script>
@endsection
////////// my controller //////////
public function postAdmin(Request $request)
{
$user = User::find($request['userId']);
$user->admin = $request['Admin'];
$user->update();
return response()->json(['Admin' => $request['Admin']]);
}
我根据你在问题中的描述假设了你的问题。
试试这个例子,它可能对你有帮助。
根据需要进行必要的更改。
$('.dummy-class').click(function(){
//Get the current value, check condition and change the value
var temp = $(this).text() == 0 ? 1 : 0;
//Set the new value
$(this).text(temp)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
A = <a href="#" class="dummy-class">0</a>
B = <a href="#" class="dummy-class">0</a>
C = <a href="#" class="dummy-class">1</a>
我想在每次单击锚标记时重复相同的功能,但会产生新的结果。例如我有 3 件物品 a = 0 , b = 0 , c = 1 当我点击 a , b , c 的锚标签时,我在控制台中看到: a = 1 ,b = 1 , c = 0 一次,每次我点击这些项目相同的结果出现在控制台中(a = 1,b = 1,c = 0)但是当我重新加载页面并单击这些项目时它完美地工作所以当我单击 a 它再次变为 0 并且其余两个项目也是如此(当我在刷新页面后再次单击时:b = 0,c = 1)现在...我想在不重新加载页面的情况下执行此操作,所以当我单击项目 a(a = 0 例如)它应该更改为( a = 1 )再次单击(然后 a = 0 )并在此先感谢
/////////// 我的 jquery //////////////////
$('.admin-btn').on("click",function(event){
event.preventDefault();
var userId = event.target.parentNode.parentNode.childNodes[1].textContent;
var admin = 0;
var isAdmin = event.target.dataset['isadmin'];
if(admin == isAdmin){
admin = 1;
$.ajax({
method:'POST',
url:makeAdminUrl,
data:{ Admin:admin , userId:userId , _token:token}
})
.done(function(msg){
console.log(msg['Admin']);
});
});
/////////// html //////////
@extends('cp.master')
@section('title','users')
@section('page-content')
<div class="row" style="margin-top:20px;">
<div class="col-md-12">
<table class="table">
<thead>
<th>#</th>
<th>Name</th>
<th>Created at</th>
<th>Action</th>
</thead>
<tbody>
@foreach($users as $user)
<tr>
<th>{{ $user->id }}</th>
<td>{{ $user->username }}</td>
<td>{{ $user->created_at }}</td>
<td>
<a data-isadmin="{{ $user->admin }}" href="#" class="btn btn-primary admin-btn">Admin</a>
<a href="#" class="btn btn-danger ban-btn">Ban</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<div class="text-center">
{{ $users->links() }}
</div>
</div>
<script type="text/javascript">
var makeAdminUrl = '{{ route('makeAdmin') }}';
var token = '{{ Session::token() }}';
</script>
@endsection
////////// my controller //////////
public function postAdmin(Request $request)
{
$user = User::find($request['userId']);
$user->admin = $request['Admin'];
$user->update();
return response()->json(['Admin' => $request['Admin']]);
}
我根据你在问题中的描述假设了你的问题。
试试这个例子,它可能对你有帮助。
根据需要进行必要的更改。
$('.dummy-class').click(function(){
//Get the current value, check condition and change the value
var temp = $(this).text() == 0 ? 1 : 0;
//Set the new value
$(this).text(temp)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
A = <a href="#" class="dummy-class">0</a>
B = <a href="#" class="dummy-class">0</a>
C = <a href="#" class="dummy-class">1</a>