-1

我的 MVC 4 项目有一个信息表,现在我使用两个输入框让用户输入 PolicyId(我表上的一个字段),然后我使用 PolicyIds 选择策略并将它们发送到我的视图比较它们。

我已经阅读了可点击的表格行,但大多数人看到人们制作了一个打开链接的可选表格行。

我想让我的表格允许我选择两行,然后单击一个按钮来更详细地比较这些行。

所以我希望它为每个选定的行获取 PolicyId,这样我就可以将它们传递到我的 MVC 视图中,该视图是为我更深入的比较而设置的。

我看到有些人谈论使用复选框,但我看到的大多数实现都非常有问题。

根据我的研究,大多数人似乎都在走 jQuery/javascript 路线。我是网络编程新手,只有 HTML 和 CSS 经验。因此,如果有人知道如何以最基本的方式(jQuery/javascript OK,如果不是太复杂的话)或了解如何使用整行作为文本框并存储结果或任何其他创造性解决方案的任何好的参考,不胜感激!谢谢!

这是我的 html 文件中的一些代码片段:

@using (Html.BeginForm("FindPolicyRequests", "RequestResponse", FormMethod.Post, new { id = "ServiceRequestResponseETO" }))
{    
     <div style="float: left;">
       Insurance Policy Identifier: @Html.TextBox("polId")<input class="findbutton" id="findExecute" type="submit" value="Find" />
     </div> 
}
@using (Html.BeginForm("SrrCompare", "RequestResponse", FormMethod.Post, new { id = "ServiceRequestResponseETO" }))
{    


    <div style="float: right; width: auto;">
          <b style="text-align: left; float: left;">Compare Responses:</b>
          <b style="text-align: left; float: left;">SRR Identifier 1:</b> @Html.TextBox("polId1")<br />
           SRR Identifier 2: @Html.TextBox("polid2")
           <input class="findbutton" type="submit" value="Compare" />
    </div> 
}

.
.
.

<table class="srrTable">
                    <tr style="font-weight: bold">
                        <th>PolicyId
                        </th>
                        <th>DataText
                        </th>
                    </tr>
                    @foreach (var item in Model)
                    {
                        <tr>
                            <td>
                                @Html.DisplayFor(modelItem => item.PolicyId)
                            </td>

                            <td>
                                @Html.DisplayFor(modelItem => item.DataText)
                            </td>
                        </tr>
                    }
                </table>
4

1 回答 1

0

将目标行的 policyId 添加到数组中。在 Firebug 中观看,希望对您有所帮助。

(function($) {

  var $table = $(document.getElementById('data')),
      policyIds = [];

  $table.on('click', 'tr', function() {

    var $this = $(this);
    policyIds.push(parseInt($this.find('td:nth-child(1)').text(), 10));

    console.log(policyIds);

  });

})(jQuery);

http://jsbin.com/iquvab/1/

更新了切换功能,请参阅http://jsbin.com/akudex/1/edit

于 2013-07-26T14:15:36.990 回答