选中时更改复选框的值

时间:2017-03-08 19:44:40

标签: jquery html .net asp.net-mvc

当复选框被选中时,是否可以将复选框的值从TRUE更改为FALSE,反之亦然?我可以在更改事件上编写一个JQuery并更改值但是想知道HTML中是否还有其他方法?

<input name="bool_flg" id="bNow_flg" type="checkbox" value="true">

3 个答案:

答案 0 :(得分:2)

你到底想要做什么?复选框的checked属性始终对应于输入是否为checked

我有一个小提琴here,可以演示这个。

如果您希望复选框的value属性与其checked状态保持同步,请参阅this小提琴。

基本上,您希望在复选框中注册一个on change事件,并使其值等于其检查状态。

$('#bNow_flg').change(function() {
    $(this).val($(this).is(':checked'));
});

答案 1 :(得分:0)

我不确定你想要什么但是默认情况下,当选中复选框时你得到一个真值,那么如果没有选中checkebox则值为false。

所以你不需要在这种输入上指定属性值。

答案 2 :(得分:0)

复选框是表单的一部分,是否要影响提交该表单时使用的值?在这种情况下,您必须使用两个具有相同名称的输入:

<input name="bool_flg" type="hidden" value="false" />
<input name="bool_flg" id="bNow_flg" type="checkbox" value="true" />

背景是浏览器不会为提交表单时未检查的复选框发送值。如果未选中该复选框,则浏览器将仅发送隐藏输入的false值。 选中此复选框后,浏览器将发送复选框的true值,覆盖隐藏输入的false值。

当您使用Html.CheckBoxFor()时,Asp.net MVC使用相同的技巧(使用隐藏的输入和具有相同名称的复选框)。