Как заполнить мои скрытые поля идентификаторами из моих таблиц с помощью Jquery - PullRequest
1 голос
/ 28 марта 2012

Я использую MVC3 в своем проекте.

У меня есть представление с таблицами и текстовой областью. Каждая строка имеет столбец «Имя» и идентификатор, который не отображается в строках.

Также у меня есть:

@Html.HiddenFor(model => model.SelectedQuestions)

Когда пользователь нажимает на строку, я хочу, чтобы мои SelectedQuestions, являющиеся строкой, заполнялись идентификатором строки.

Это внутри моего контроллера для моих таблиц:

 foreach (var player in playerGroupedByTeam)
                {
                    var playerViewModel = new playerViewModel();

                    playerViewModel.PlayerId = player.Id;
                    playerViewModel.PlayerName = Player.PlayerName;

                    TeamPlayer.Player.Add(playerViewModel);
                }

Любые предложения, как я могу решить это с помощью jquery?

Заранее спасибо!

1 Ответ

0 голосов
/ 28 марта 2012

Это должно работать:

<table id="player-table">
    @foreach(var player in this.Model.Players)
    {
    <tr><td data-player-id="@player.PlayerId">@player.PlayerName</td></tr>
    }
</table>
@this.Html.HiddenFor(model => model.SelectedQuestions)

<script type="text/javascript">
    $(function() {
        var selectedQuestions = $("#SelectedQuestions");
        $("#player-table").find("td").click(function() {
            var clickedId = $(this).attr("data-player-id");
            var currentIds = selectedQuestions.val().split(",");
            if (!$.inArray(clickedId, currentIds)) { 
                currentIds.push(clickedId); 
            }
            selectedQuestions.val(currentIds.join(","));
        });
    });
</script>

Обратите внимание, что оно не включает в себя удаление уже нажатых идентификаторов, если вы этого хотели.

...