簡體   English   中英

在MVC 4 foreach循環中調用JavaScript函數

[英]Calling a javascript function in mvc 4 foreach loop

我想在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");
    }
}

這樣做:

@foreach (var item in Model) 
{
    <table>
       <tr>
           <td>
           </td>
       </tr>
    </table>

    <script>                

    GetDate();

    </script>  

}

而不是然后將腳本與html混合。 我建議您寫出html,並在頁面加載時讓jQuery / javascript對其進行迭代。 讓我知道您是否需要任何進一步的幫助。

DEMO

查看演示,了解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
    });
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM