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