【发布时间】:2014-11-24 16:39:49
【问题描述】:
tl;dr 我只想在选中复选框的情况下将文本框的值保存到模型中。
首先,我知道我的代码非常混乱。我一直试图从另一个堆栈溢出问题中即兴创作我的代码,所以它首先是错误的。我想做的是我对事件有这些限制,有些是布尔值,有些是数字。例如,禁止吸烟是一个布尔值,但最小年龄是一个数字。这些是可选的,用户不必设置任何。所以我想要一个复选框,说他们想要限制,但也要将值保存到模型中。这是我目前所拥有的:
<p>
<input type="checkbox" id="ageLowCapCB"
@(((Model.currentRestrictions.AgeLowCap != null) &&
(Model.currentRestrictions.AgeLowCap != 0)) ? "checked = 'checked'" : "")
/>
Low Age Limit
@Html.TextBoxFor(e => e.currentRestrictions.AgeLowCap, new {id = "ageLowCap"})
</p>
我所拥有的脚本/jquery 是:
$("#ageLowCapCB").click(function () {
var isChecked = $(this).is(":checked");
$("#ageLowCap").val(isChecked ? /*I don't know what to put here*/);
});
我从中提取的问题是使用“T”或“F”的值来表示真假,因此他们很容易填写评论部分,输入“T”:“F”就是这样。但是我需要拉取文本框的值,并将其设置为 Model.currentRestrictions.AgeLowCap 的值。有没有人对在这种奇怪的情况下该怎么做有什么好主意?
【问题讨论】:
-
首先,无论谁对你投了反对票,都应该留下评论——否则这是一个完全没有意义的练习。呸呸呸。话虽如此,我有点同情,因为这个问题是坚不可摧的——你能总结一下你想要发生的事情吗?
-
我希望该复选框定义是否需要对最小年龄设置上限。但如果他们这样做,我希望它从文本框中保存一个整数值。这有意义吗?
-
是的。我会在控制器中执行此操作 - 获取复选框状态,如果选中,则保存文本框值。这似乎太简单了,如果我错过了一些基本的东西,请道歉。
-
@BrentonHawley 为什么不将该复选框值发送到其他东西和服务器端,您可以根据所有这些值确定和设置您想要的任何内容?
-
您最好使用具有
bool属性的视图模型,然后添加[RequiredIfTrue]属性 - 例如Foolproof - 这样您就可以立即获得客户端和服务器验证并且不需要脚本。
标签: javascript c# jquery asp.net-mvc-4 razor