0

我有一个包含 2 列的 WEBGRID。

然后,我使用 Jquery 和 Ajax 使一行可点击。我可以将 1 个值传递给 AJAX 调用,这是 webgrid 中的第一列,这很好用。但我无法将 2 个值传递给 AJAX 调用。

我怎样才能做到这一点 ?

VIEW() .cshtml 中的 WEGRID 代码:

        @grid.GetHtml(columns: grid.Columns(
                        grid.Column("projectCode", "Project Code", canSort: true),
                        grid.Column("spUserName", "Provider Name", canSort: true)),
        tableStyle: "webgrid",
        headerStyle: "webgrid-header",
        footerStyle: "webgrid-footer",
        selectedRowStyle: "webgrid-selected-row",
        rowStyle: "webgrid-row-style")    

JavaScript/AJax 在同一个 VIEW() .cshtml 中调用:

            <script type="text/javascript">
            $(function () {
            $('tbody tr').live('hover', function () {
                $(this).toggleClass('clickable');
            }).live('click', function () {  
                $.ajax(
                            {
                                type: "POST",
                                url: "/Projects/OtherProjectHeaderSP",                              
                                data : { projectCode: $(this).find('td:first').text(),
                                         spUserName: $(this).find('td:second').text()},
                                success: function (data) {
                                        $('#container1').html (data);                         
                                    }
                            });
            });
        });
        </script> 

问题是它没有获取 spUserName: $(this).find('td:second).text()},即 rthe spUserName。如果我只传入 $(this).find('td:first').text(),它将 100% 工作,并将 projectCode 发送到控制器。但是通过添加第二个,它会导致失败。

如何从 WEBGRID 传入 2 个值?

另一种选择是使用 JSON。但是我已经尝试并且无法将 td 值分配给 JSON 对象。

请提供任何帮助

4

1 回答 1

0

td:first是另一种说法td:eq(0)。使用它,如果您将其更改为td:secondtd:eq(1)您可以获得第二列

于 2012-08-03T16:46:17.523 回答