2012-03-21 48 views
0

我在我的視圖和循環過程中有一個循環我想將值傳遞給一個jQuery並將值返回給div。ASP.NET MVC 3從視圖傳遞參數到jQuery

查看

@foreach (var item in Model){ 
    <p>@item.Title;</p> 
    <div id="timeDisplay" onload="test(@item.DateTime);"></div> 
} 

jQuery的

$(function() { 
    function test(var datetime){ 
     $("#timeDisplay").html(datetime); 
    } 
}); 

負載的功能不工作,我缺少什麼?

+1

您的'test'函數不能在'$(document).ready()'之外訪問。 – jrummell 2012-03-21 18:53:23

回答

1

移動的test$(document).ready()

$(function() { 
    // document ready stuff 
}); 

function test(var datetime){ 
    $("#timeDisplay").html(datetime); 
} 

而不是使用onl oad屬性,那麼使用$(document).ready()可能會更好。此外,請注意,您有多個ID爲timeDisplay的div - 請改爲使用類。

@foreach (var item in Model) { 
    <p>@item.Title</p> 
    <div class="timeDisplay" data-date="@item.DateTime"></div> 
    } 

$(function() { 
    // document ready stuff 
    $(".timeDisplay").each(function() { 
     $(this).html($(this).data("date")); 
    }); 
}); 
+0

仍然不起作用,測試函數不會執行。 – Ben 2012-03-21 19:28:12

+0

您是否看到錯誤?你可以從控制檯運行'test()'嗎? – jrummell 2012-03-21 19:36:29

1

我會使用數據屬性的是這樣的:

@foreach (var item in Model){ 
    <p>@item.Title;</p> 
    <div id="timeDisplay" data-DateTime="@item.DateTime"> 
    </div> 
    } 

$(function() { //anyone know how to do this without the temp? 
    var $el = $("#timeDisplay"); 
    $el.html($el.data('DateTime')); 
}); 
1

你需要在你的服務器數據報價:

onload="test('@item.DateTime');"

+0

當!無法在手機上格式化! – 2012-03-21 18:49:28

+0

@斯特凡謝謝! – 2012-03-21 18:53:21

+0

非常歡迎,很好的接收! – Stefan 2012-03-21 18:58:01

1

不應該像您在示例中那樣創建多個共享相同ID的元素。

此外,你的Javascript不會做任何事。知道你在這裏瞄準什麼會很高興。這足以顯示項目屬性;

@foreach (var item in Model) { 
    <p>@item.Title;</p> 
    <div class="timeDisplay">@item.DateTime</div> 
} 
+0

當前我有一個js函數,它在頁面加載時顯示倒數計時器。它生成targetDate和init()函數得到執行....它工作正常,例如 >> targetDate = new Date(「2012年12月20日,13:00:00」).getTime()/ 1000; >> init(); 但我想要做的是通過循環的日期時間,它應該創建自己的倒計時時間,我希望它是有道理的。 thx – Ben 2012-03-21 19:20:20

+0

我將如何能夠避免使用相同的ID?有沒有辦法解決這個問題...... – Ben 2012-03-21 19:37:09

+0

你可以使用一個CSS class並創建一個jQuery函數來爲所有具有class的元素生成倒計時。請參閱@jrummells回答他使用'data'屬性的位置。 – Stefan 2012-03-22 08:13:46

相關問題