ASP.NET MVC 3 передает параметр из представления в jQuery - PullRequest
0 голосов
/ 21 марта 2012

У меня есть цикл в моем представлении, и во время цикла я хочу передать значение в jQuery и вернуть значение обратно в div.

View

@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);
    }
});

Функция загрузки работает, чего мне не хватает?

Ответы [ 4 ]

1 голос
/ 21 марта 2012

Вы не должны создавать несколько элементов с одинаковым идентификатором, как в вашем примере.

Кроме того, ваш Javascript с тех пор не создает.Было бы здорово узнать, к чему вы стремитесь.Этого будет достаточно для отображения свойства элемента;

@foreach (var item in Model) {
    <p>@item.Title;</p>
    <div class="timeDisplay">@item.DateTime</div>
}
1 голос
/ 21 марта 2012

Вам нужны кавычки вокруг данных вашего сервера:

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

1 голос
/ 21 марта 2012

Перемещение test за пределы $(document).ready():

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

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

Вместо использования атрибута onload вам, вероятно, будет лучше использовать $(document).ready(). Также обратите внимание, что у вас есть несколько div с id timeDisplay - вместо этого используйте класс.

 @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")); 
    });
});
1 голос
/ 21 марта 2012

Я бы использовал атрибуты данных для чего-то вроде этого:

 @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') );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...