我正在处理一个项目,并在管理端创建了一个网格,其中显示了所有项目,这样当管理员单击三个项目时,它们应该显示在该网站的索引页上,并在选择三个项目后禁用其他复选框,以及何时更改它,删除其中一个选中的复选框,然后将选择权交给其他复选框堆栈溢出。现在这个代码可以工作了,但问题是当我刷新页面或从其他菜单导航时,即使它在索引页面上显示了前三个选定的项目,也可以选择更多的复选框。我如何才能在页面刷新后不选择。这是代码
function disableHandler (form, inputName) {
var inputs = form.elements[inputName];
for (var i = 2; i < inputs.length; i++) {
var input = inputs[i];
input.onclick = function (evt) {
if (this.checked) {
disableInputs(this, inputs);
}
else {
enableInputs(this, inputs);
}
return true;
};
}
}
function disableInputs (input, inputs) {
for (var i = 2; i < inputs.length; i++) {
var currentInput = inputs[i];
if (currentInput != input) {
currentInput.disabled = true;
}
}
}
function enableInputs (input, inputs) {
for (var i = 2; i < inputs.length; i++) {
var currentInput = inputs[i];
if (currentInput != input) {
currentInput.disabled = false;
}
}
}
您应该在数据库中保留选择。这是一个待办事项列表:
-
每次选择/取消选择后,向服务器发送一个后台ajax请求,其中包含所选复选框的详细信息。
-
在服务器上将此信息保存到数据库中。
-
当用户刷新页面时,使用数据库中的信息将选中的复选框呈现为选中状态,将其他复选框显示为禁用状态。
您可以发送ajax请求来设置会话变量,以跟踪用户所选择的内容。
类似于$_SESSION['checkbox']['pt1']=1的内容,表示是否选中了特定项目
不过,我不太明白你想做什么,但这似乎相对简单。如果你需要更多帮助,请告诉我。