我想在MVC 4 razor语法foreach循环中调用jquery函数,必须在每个循环中调用函数
这是我的更新代码
@foreach (var item in Model) {
<table>
<td>
<div id="date">
<input id="datei" type="hidden" value="@Html.DisplayFor(modelItem => item.hire_date)" />
</div>
<div id="datedis"></div>
<script >
GetDate()
</script>
</td>
这是Getdate功能
var GetDate = function()
{
var date2 = new Date("2014-11-01")
var dt = $("#datei").val();
var dtx = new Date(Date.parse(dt));
var datediff = date2 - dtx;
var years = datediff / 1000 / 60 / 60 / 24 / 365;
var months = datediff / 1000 / 60 / 60 / 24 / 31;
var yeardisplay;
var monthdisplay;
if (years > 0) {
yeardisplay = Math.floor(years);
monthdisplay = Math.floor(months);
$("#datedis").html(yeardisplay + "Years," + " " + monthdisplay + " Months");
} else {
monthdisplay = Math.floor(months);
$("#datedis").html(monthdisplay + " Months");
}
}
答案 0 :(得分:1)
这样做:
@foreach (var item in Model)
{
<table>
<tr>
<td>
</td>
</tr>
</table>
<script>
GetDate();
</script>
}
答案 1 :(得分:0)
而不是将脚本与html混合。我建议你写出html并在页面加载时让jQuery / javascript迭代它。如果您需要任何进一步的帮助,请告诉我。
看一下html结构的演示。但这基本上就是我的意思。你必须为你GetDate()
修改它,抱歉我没时间去做。
$(document).ready(function () {
var obj = $('.container .date-container');
$.each(obj, function (i, item) {
//item here is each date-container (your case table)
//so you can do what you like with it here
});
});