MVC Javascript в заявлении ForEach - PullRequest
0 голосов
/ 24 октября 2018

Интересно, может кто-нибудь посоветовать, я использую MVC с Rateit.js и пытаюсь заполнить выбранное значение рейтинга в текстовое поле, чтобы разрешить сохранение значения.Я получил это далеко:

foreach (var item in Model)
{
     @Html.TextBoxFor(modelItem => item.Answer, new { id = "t" + @item.ID })
     <div class="rateit" id="@item.ID" onclick="setValue()">
     </div>
     <script type="text/javascript">
         function setValue() {                               
             document.getElementById("t"+@item.ID).value = 
             $('#@item.ID').rateit('value');
         }
     </script>
}

В представлении возвращаются 3 записи, это работает так, как задумано для последней записи, но не для первых 2, и я теперь довольно застрял!Любой совет будет оценен.

Большое спасибо

1 Ответ

0 голосов
/ 24 октября 2018

Вы перезаписываете функцию setValue .. она всегда будет последней.

Измените это:

<div class="rateit" id="@item.ID" onclick="setValue()">

Кому:

<div class="rateit" id="@item.ID" onclick="setValue('@item.ID')">

Возьмите скрипт из цикла и измените его следующим образом:

function setValue(id) {                               
    document.getElementById("t"+id).value = $('#'+id).rateit('value');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...