gpt4 book ai didi

javascript - 限制/禁用/启用复选框

转载 作者:数据小太阳 更新时间:2023-10-29 05:23:04 24 4
gpt4 key购买 nike

我对这个链接有疑问:Limiting default checked checkboxes .

我扩展了验证脚本的代码,这就是我想要做的。

  1. 我想要一个默认选中的复选框。
  2. 我想限制复选框的选择,例如:如果 mvp 是 3,我应该选择 3 并禁用其余的复选框,就像这样。 Limit Checkbox .
  3. 如果未达到选择,我想禁用提交按钮,例如,如果给定的最大数量为 5。如果选择未选中 5,则提交按钮将不会启用。

这是我的示例代码:

var mvp = 5;

$(document).ready(function() {


$("input:checkbox").each(function( index ) {
this.checked = ( index < mvp );
});

$("input:checkbox").click(function() {

var bol = $("input:checkbox:checked").length != mvp;

if(bol){
alert("You have to choose "+ mvp +" mvp's only");
this.checked = false;
$("#button-cart").attr("disabled", true);
}
else{
$("input:checkbox").not(":checked").attr("disabled",bol);
$("#button-cart").attr("disabled", false);
}
});

});

这是 fiddle :fiddle

根据示例,我在 5 中设置了 mvp 的值。当页面加载时,默认选中了 5 个复选框。然后,如果您取消选中 1,则将触发警报,提示您应该拥有 5 个 mvp,然后该按钮将禁用。一旦您再次选中一个复选框,该按钮就会出现。但用户可以选择 2 个左侧复选框。但如果用户超过 5 个选择,则警报将再次触发并将其返回到 5 个选中的复选框。这里的问题是按钮将保持禁用状态。

你能帮我做这种逻辑吗:D 在此先感谢..

最佳答案

试试这个,

var mvp = 5;
$(document).ready(function () {
$("input:checkbox").each(function (index) {
this.checked = (index < mvp);
}).click(function () {
en_dis= $("input:checkbox:checked").length < mvp
$('#button-id').prop('disabled', en_dis);
// to disable other checkboxes
$('input:checkbox:checked').length >= mvp &&
$("input:checkbox:not(:checked)").prop('disabled',true);
}).change(function () {
if ($(this).siblings(':checked').length >= mvp) {
this.checked = false;
}
});
});

Working DemoUpdated Demo

关于javascript - 限制/禁用/启用复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20964701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com