选中最多三个复选框并禁用其他复选框
Maximum three checkbox selected and other disable
我正在处理一个项目,并在管理端创建了一个网格,其中显示了所有项目,这样当管理员单击三个项目时,它们应该显示在该网站的索引页上,并在选择三个项目后禁用其他复选框,以及何时更改它,删除其中一个选中的复选框,然后将选择权交给其他复选框堆栈溢出。现在这个代码可以工作了,但问题是当我刷新页面或从其他菜单导航时,即使它在索引页面上显示了前三个选定的项目,也可以选择更多的复选框。我如何才能在页面刷新后不选择。这是代码
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的内容,表示是否选中了特定项目
不过,我不太明白你想做什么,但这似乎相对简单。如果你需要更多帮助,请告诉我。
相关文章:
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 选中多个具有相同名称的复选框
- 使用$.ajax发布多个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- 使用jQuery只返回选中复选框后的第一个表单元格值
- 添加具有多个值的复选框
- angularjs复选框验证至少两个
- jquery从2个json字符串构建一个复选框表单
- JavaScript-取决于多个下拉选择或复选框的动态链接
- 无法限制所选复选框的数量(尝试了多个代码段)
- 我有多个复选框,并希望为其中 2 个制定规则,以便如果我选择 1 个,则无法选择另一个
- 将复选框限制为仅三个复选框 - 如何
- 将可选择的复选框数量限制为三个(不包括一个)
- 选中最多三个复选框并禁用其他复选框
- ~我需要禁用2复选框时,第三个复选框被选中
- HTML选择三个不同的复选框并显示它们
- 必须勾选最后三个复选框才能提交
- 如何设置复选框,当其到达第三个复选框时自动取消选中