gpt4 book ai didi

javascript - 如何使用 javascript/jQuery 检查/取消选中 HTML CheckBoxFor

转载 作者:行者123 更新时间:2023-11-30 17:03:13 25 4
gpt4 key购买 nike

我查看了“How to check/uncheck a checkbox with Javascript/jQuery”这个问题的所有其他答案,他们似乎说要使用:

$("#idSelector").prop('checked', true);
$("#idSelector").prop('checked', false);

但是,由于 razor html 帮助器向混合中添加了第二个输入元素,这会造成复杂性。

$(document).on("click", "input[type='radio']", function() {
$("input[type='radio']").each(function() {
var that = this;
$(this).parent().siblings("#checkBoxArray").find(":checkbox").each(function(i, item) {
$(item).prop('checked', that.checked);
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div style="margin-bottom: 50px;">
<div style="clear: both;"></div>
<div style="margin: 25px; margin-top: 15px; margin-bottom: 10px;">
<div id="CheckBoxRow" style="border-bottom: 1px solid lightgrey; padding-bottom: 10px;">
<label>
<input id="holeSizes" name="holeSizes" type="radio" value="4" data-bind="checked:holeSizes">Choice Group One</label>
<div id="checkBoxArray" style="min-height: 18px;">
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="one" name="one" type="checkbox" value="true" data-bind="checked:one">
<input name="one" type="hidden" value="false" data-bind="value:one">One</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="two" name="two" type="checkbox" value="true" data-bind="checked:two">
<input name="two" type="hidden" value="false" data-bind="value:two">Two</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="three" name="three" type="checkbox" value="true" data-bind="checked:three">
<input name="three" type="hidden" value="true" data-bind="value:three">Three</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="four" name="four" type="checkbox" value="true" data-bind="checked:four">
<input name="four" type="hidden" value="false" data-bind="value:four">Four</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="five" name="five" type="checkbox" value="true" data-bind="checked:five">
<input name="five" type="hidden" value="false" data-bind="value:five">Five</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="six" name="six" type="checkbox" value="true" data-bind="checked:six">
<input name="six" type="hidden" value="false" data-bind="value:six">Six</div>
<div>
<input class="Checkbox1" data-val="true" data-val-required="required." id="seven" name="seven" type="checkbox" value="true" data-bind="checked:seven">
<input name="seven" type="hidden" value="false" data-bind="value:seven">Seven</div>
</div>
</div>
</div>
</div>

我已使用此代码根据单击的单选按钮更改复选框选择状态,并且复选框显示选中状态,就好像它们已被选中一样,但隐藏输入框的基础值未更改以反射(reflect)这一点。

我需要使用什么代码来更改可视复选框和隐藏值?

更新

我快搞明白了。有点儿。这些复选框位于 Kendo 模板中,该模板似乎自动将 Knockout 绑定(bind)应用于每个复选框。

data-bind="checked:one"

所以改变盒子的视觉外观和隐藏输入的值本身仍然不能完全奏效。我在另一行中添加了更改数据绑定(bind)的值,但这仍然太短了一步。我需要更改敲除绑定(bind)到的模型的值。

是否有一种简单的方法来更改数据绑定(bind)模型的值?

最佳答案

如果您的代码如下所示:

@using(Html.BeginForm......
{
...
@Html.LabelFor(s=>s.idSelector, "idSelector")
@Html.CheckBoxFor(s=>s.idSelector)
...
}

将复选框设置为“已选中”只需要做的是:

$("#idSelector").prop('checked', true);

关于javascript - 如何使用 javascript/jQuery 检查/取消选中 HTML CheckBoxFor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28489140/

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