我的模型中有一个字段 - 称之为'距离' - 我想写一个包含复选框和文本框的视图。
如果选中该复选框,则文本框将被禁用,并且在提交表单时,“distance”将获得值0.
如果未选中该复选框,则“距离”会在提交表单时获取文本框中的任何值。
有人有任何指导如何做到这一点?这是基于两个让我感到困惑的控件的状态来分配模型值的逻辑......
答案 0 :(得分:1)
可以通过复选框上的onclick事件处理程序使用Javascript完成UI行为。您需要提交的唯一值是输入字段,其值将设置为0或手动设置的任何值。
使用jQuery,您将拥有:
$('#checkbox_id').click(function() { $('inputfield_id').val('0');
答案 1 :(得分:1)
模型行为取决于复选框所代表的内容。如果它是模型上的实际属性,那么您将需要使用aleemb的javascript方法检查值服务器端以及(可选)。
如果在该字段中检查只是表示零距离,那么aleemb的方法就足够了。
答案 2 :(得分:0)
Aleemb的回答就像一个魅力,只有一些小修改:
$("#Distance_checkbox").click(function() {
if ($(this).is(':checked')) {
$("#Distance_textbox").val(0);
$("#Distance_textbox").attr("disabled", true);
}
else {
$("#Distance_textbox").val("");
$("#Distance_textbox").attr("disabled", false);
}
});