gpt4 book ai didi

jquery - Bootstrap 开关返回 "on/off"而不是 "true/false"

转载 作者:行者123 更新时间:2023-12-03 22:46:00 25 4
gpt4 key购买 nike

Bootstrap 的使用量很大,而且很多比我聪明得多的人都在研究它,所以我确信我要指出的问题完全不是问题,我只是用错了它,但是....

我有一个带有复选框的表单,使用 bootstrapSwitch()

这是我的 html

<div class="bootstrap-switch-square">
<input type="checkbox" data-toggle="switch" name="Resend" id="Resend" />
</div>

还有 js:

$("#Resend").bootstrapSwitch();

这会在我的页面上生成一个简洁的 Bootstrap 切换开关。该页面发布到 ASP.NET MVC4 Controller 方法,该方法需要模型中的 boolean 值。

public class MyModel
{
public bool Resend { get; set; }
}

当我发布此表单时,我的 Resend boolean 值始终为 false。为什么?因为 Bootstrap 开关发布的值为 on 而不是 true

我不想将我的模型从 boolean 值更改为字符串,因此我被迫在 jquery 中拦截该帖子,并将复选框的值更改为 true(如果它是 >上。这对我来说似乎是倒退的。当然,如果在复选框上使用 bootstrapSwitch() ,它应该产生 true/false 而不是 on/off

我错过了什么吗?

最佳答案

来自HTML specifications ,复选框的默认值为“on”,因为您尚未包含 value 属性

default/on

On getting, if the element has a value attribute, it must return that attribute's value; otherwise, it must return the string "on". On setting, it must set the element's value attribute to the new value.

将 html 更改为

<div class="bootstrap-switch-square">
<input type="checkbox" data-toggle="switch" name="Resend" id="Resend" value="true" />
</div>

这样,如果选中,true 值将在表单数据中发送,并正确绑定(bind)到您的 boolean 属性(如果未选中,则不会发送任何值并且该属性将为其默认值 (false)

关于jquery - Bootstrap 开关返回 "on/off"而不是 "true/false",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33299849/

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