1

プロジェクトで MVC3 を使用しています。

テーブルとテキストエリアを含むビューがあります。各行には、「名前」列と、行に表示されない ID があります。

また、私は持っています:

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

ユーザーが行をクリックすると、文字列である SelectedQuestions が行の ID で埋められるようにします。

これは、テーブルのコントローラー内にあります。

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

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

                    TeamPlayer.Player.Add(playerViewModel);
                }

jqueryでこれを解決する方法はありますか?

前もって感謝します!

4

1 に答える 1

0

これはうまくいくはずです:

<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>

必要に応じて、既にクリックした ID を削除することは含まれないことに注意してください。

于 2012-03-28T13:04:49.543 に答える