【发布时间】:2017-04-21 20:35:01
【问题描述】:
我已经为此搜索了一段时间,但找不到解决方案。基本上,我有一个简单的表格,它是动态的(一个 ID 最多可以存在 20 个周期)。删除 Cycles 的验证,比如其中有 3 个,1、2 和 3,是您可以删除 #3,但在删除 #3 之前您不能删除 #2,并且您不能删除 #1,直到您删除#2。
所以,在前端,我正在考虑一种设计,该设计将禁用除最后一个复选框之外的所有复选框,然后当您选中最后一个复选框时,下一个前一个复选框将被启用并且能够被选中,等等在。然后,用户将删除(通过 Bootbox 模态提交按钮回调,这甚至有点棘手)。
这是我用来测试的一个简单表格:
<form class="form-horizontal" id="deleteCycles" action="/deleteCyclesScript" method="post">
<div class="col-md-12" style="margin-top: 30px; margin-bottom: 10px;">
<div class="checkbox"><label><input id="cycle1" type="checkbox" value="cycle1" class="dynamicCheckboxes">Cycle 1</label></div>
<div class="checkbox"><label><input id="cycle2" type="checkbox" value="cycle2" class="dynamicCheckboxes">Cycle 2</label></div>
<div class="checkbox"><label><input id="cycle3" type="checkbox" value="cycle3" class="dynamicCheckboxes">Cycle 3</label></div>
</div>
</form>
如何动态编写 JavaScript(我使用的是 jQuery 1.12.4)来实现这一点?我希望在 ID 中有一些东西几乎可以使复选框链成为启用复选框 - 默认情况下启用最后一个复选框,因为它不依赖于要删除的其他复选框,但是,然后动态启用其他复选框上面那个是启用的。
有人可以帮忙吗?
非常感谢!
【问题讨论】:
-
如果保证标识符是连续的,你可以添加一个数据属性,比如
data-dependsOn,带有先行者的ID,并检查匹配的复选框是否被选中。 -
哇,这是一个非常有趣的想法。我对这一切都很陌生,有什么方法可以帮助您编写脚本吗?
标签: javascript jquery twitter-bootstrap checkbox bootbox