无法在iCheck-helper复选框中获取选中状态
本文关键字:获取 状态 复选框 iCheck-helper | 更新日期: 2023-09-27 18:09:33
我在MVC 4 web应用程序中使用Bootstrap主题。我的应用程序中有一个复选框。
我的Razor代码如下。
<div class="form-group">
<div class="checkbox">
<label>
@Html.CheckBoxFor(model => model.NeedsRepacking)Needs Repacking
</label>
</div>
</div>
,但在web浏览器中没有显示复选框。请查看渲染后的代码。
<div class="form-group">
<div class="checkbox">
<label class="">
<div class="icheckbox_minimal-blue" style="position: relative;"><input data-val="true" data-val-required="The NeedsRepacking field is required." id="NeedsRepacking" name="NeedsRepacking" type="checkbox" value="true" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background-color: rgb(255, 255, 255); border: 0px; opacity: 0; background-position: initial initial; background-repeat: initial initial;"></ins></div><input name="NeedsRepacking" type="hidden" value="false">Needs Repacking
</label>
</div>
</div>
当我选中复选框div类更改为icheckbox_minimal-blue checked
。
<div class="form-group">
<div class="checkbox">
<label class="">
<div class="icheckbox_minimal-blue checked" style="position: relative;"><input data-val="true" data-val-required="The NeedsRepacking field is required." id="NeedsRepacking" name="NeedsRepacking" type="checkbox" value="true" style="position: absolute; opacity: 0;"><ins class="iCheck-helper" style="position: absolute; top: 0%; left: 0%; display: block; width: 100%; height: 100%; margin: 0px; padding: 0px; background-color: rgb(255, 255, 255); border: 0px; opacity: 0; background-position: initial initial; background-repeat: initial initial;"></ins></div><input name="NeedsRepacking" type="hidden" value="false">Needs Repacking
</label>
</div>
</div>
但是我无法获得复选框的选中状态
这是我正在研究的一个项目的复制/粘贴/修改,并且与iCheck库有相同的问题。此解决方案未经过100%测试,因此您需要将其修改为您的代码:
<script type="text/javascript">
$(document).ready(function () {
$(".checkbox > .icheckbox_minimal-blue > .iCheck-helper").click(function (e) {
var id = e.toElement.parentNode.firstChild.id;
var isChecked = $('#' + id).is(':checked');
if (isChecked)
{
alert('Checked!');
}
});
</script>
注意:这段代码可以而且应该被重构和优化。