【问题标题】:using javascript to assign value to model使用 javascript 为模型赋值
【发布时间】:2015-07-24 00:35:47
【问题描述】:

我正在使用日历,我需要将其中的值传递到我的模型中以提交回控制器,但我被卡住了。

查看

<div class="cell">
    @Html.LabelFor(model => model.ExpectedDatetimeStamp, new { @class = "control-label col-md-2" }):
    <div data-role="calendar" data-week-start="1" data-multi-select="false" id="c1" class="calendar"></div>
        <div hidden>@Html.EditorFor(model => model.ExpectedDatetimeStamp)</div>
    <div>
        @Html.ValidationMessageFor(model => model.ExpectedDatetimeStamp)
    </div>
</div>

<div>
    <input type="submit" value="Create" class="button primary" />
</div>

JS

function get_dates(){
    var result = $("#c1").calendar('getDates');
    alert(result);
}

当用户按下提交按钮时,如何将结果中的值分配给model.ExpectedDatetimeStamp

【问题讨论】:

  • $('#ExpectedDatetimeStamp').val(result);
  • HA 好的,所以每个项目的 ID 都是 var 名称?请发布为答案,以便我可以排除它。

标签: c# jquery entity-framework asp.net-mvc-4


【解决方案1】:

根据 cmets,模型中的每个项目的名称都与其在模型中的名称相匹配。例如,您的项目 ExpectedDatetimeStamp 将有一个具有该名称的元素。

所以要设置值,只需使用:

$('#ExpectedDatetimeStamp').val(result);

完成了! :)

【讨论】:

    【解决方案2】:

    您使用的 HTML 帮助程序将为输入分配 ExpectedDatetimeStamp 的 ID。只需在您的获取日期函数中定位它,然后将该函数附加到最接近 .cell 元素的表单上的提交事件的回调中。如果您使用 MomentJS,那么对日历的调用应该是 getDate。此外,为了正确地为输入而不是矩对象分配值,您可能需要使用.format()

    function get_dates(){
     var result = $("#c1").calendar('getDate').format();
     $('#ExpectedDatetimeStamp').val(result)
    }
    
    $('.cell').closest('form').submit(function(){
     //..any other values that need to be populated
     get_dates();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多