0

2つの列を含むWEBGRIDがあります。

次に、JqueryとAjaxを使用して行をクリック可能にします。Webグリッドの最初の列である1つの値をAJAX呼び出しに渡すことができますが、これは正常に機能します。しかし、AJAX呼び出しに2つの値を渡すことができません。

これどうやってするの ?

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

同じVIEW().cshtmlでのJavaScript / AJax呼び出し:

            <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()のみを渡すと、projectCodeがコントローラーに送信されて100%機能します。しかし、2番目のものを追加すると、失敗が発生します。

WEBGRIDから2つの値を渡すにはどうすればよいですか?

もう1つのオプションは、JSONを使用することです。しかし、私はtd値をJSONオブジェクトに割り当てようとしましたができませんでした。

助けてください

4

1 に答える 1

0

td:first別の言い方td:eq(0)です。それをからtd:secondに変更するとtd:eq(1)、2番目の列を取得できます。

于 2012-08-03T16:46:17.523 に答える