JQuery函数只能触发一次
我知道这是一个经常被问到的问题,但我还没有找到解决问题的办法 我有一个JQuery函数只能触发一次,jquery,Jquery,我知道这是一个经常被问到的问题,但我还没有找到解决问题的办法 我有一个表,其中有一个循环按钮,用于编辑每个特定的tr,当按下按钮时,它会加载一个带有表单的局部视图,然后再次按下按钮时,会用用户详细信息填充表单的文本区域,我设置了一个。一个功能,以便仅在第一次单击按钮时才加载局部视图,这很好 但是,当在另一个用户上按下按钮时,它不会用新用户的详细信息填充现有的文本区域,而是再次调用显示为空白的局部视图,因此每次要显示这些详细信息时,您必须在每个用户上单击两次,这非常烦人 表格 <ta
表
,其中有一个循环
按钮,用于编辑每个特定的tr
,当按下按钮时,它会加载一个带有表单的局部视图,然后再次按下按钮时,会用用户详细信息填充表单的文本区域,我设置了一个。一个功能,以便仅在第一次单击按钮时才加载局部视图,这很好
但是,当在另一个用户上按下按钮时,它不会用新用户的详细信息填充现有的文本区域,而是再次调用显示为空白的局部视图,因此每次要显示这些详细信息时,您必须在每个用户上单击两次,这非常烦人
表格
<table class="table">
<thead>
<tr>
//Table Headers
</tr>
</thead>
<tbody>
<!-- Render the details of each employee. -->
@foreach (var item in Model)
{
<tr>
<td><input type="button" class="btn btn-primary editUser" id="editUser" name="editUser" value="Edit" onclick="Hide_Div(NewUserDiv)" /></td>
//Some @Html.DisplayFor() calls
</tr>
}
</tbody>
</table>
如您所见,我有一个.one
功能,但由于按钮处于循环中(Table/tbody/tr),因此功能适用于每个按钮
如果你需要我澄清任何事情或者你想要更多的细节,请询问。
提前谢谢
p.S.一切正常,但我想让它成为
$(".editUser").one("click", function editUsers() {
$.ajax({
url: '/Home/EditUser',
success: function (data) {
$('#EditUserDiv').html(data);
}
});
});
将所有.editUser
按钮一起应用,而不是单独应用,因此一旦上载了部分页面,它就不会再次上载。如果我理解这一点,您需要一个布尔值来指示操作已发生(因此不再执行此操作)
非常感谢你!我将在10分钟内将其标记为正确:)
$(".editUser").one("click", function editUsers() {
$.ajax({
url: '/Home/EditUser',
success: function (data) {
$('#EditUserDiv').html(data);
}
});
});
var isEditingUser = false;
$(".editUser").one("click", function editUsers() {
if(isEditingUser) return;
$.ajax({
url: '/Home/EditUser',
success: function (data) {
isEditingUser = true;
$('#EditUserDiv').html(data);
}
});
});