如何使用Jquery从我的表中填充带有ID​​的隐藏字段

时间:2012-03-28 12:13:02

标签: jquery asp.net-mvc-3 hiddenfield

我在我的项目中使用MVC3。

我有一个表和一个textarea的视图。每行都有" Name"列和未显示在行中的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解决此问题的任何建议吗?

提前致谢!

1 个答案:

答案 0 :(得分: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,则不包括删除已经点击过的ID。