-1

テーブルセルから特定の値を取得しようとしていますが、コントローラーに渡されます。しかし、それは機能していないようです。私のコードのいくつかをお見せします:

これはコントローラーにあります:

def searchUser = {
        String abc = request.getParameter("harrow")
        println(abc)
    }

これはhtmlページにあります:

  <form>
 <div style="height: 250px; overflow: scroll; width: 100%;">
              <table id="normal">
              <g:each in = "${result}">
              <tr id="btn">
              <td width=10% >${it.ID}</td>
              <td width=25% id="harrow">${it.username}</td>

              </tr>
              </g:each>


              </table>
         </div>
            <input type ="submit" name ="abc" id="opener">

    </form>

編集

AJAX:

 $("#edittable").on('click', function() {
            $.ajax({
                url: URL,
                data: $(this).serialize(),
                type: "POST",
                success: function(html){
                    //do something with the `html` returned from the server here
                    $("#edit1").html(html).dialog("open")
                },
                error: function(jqXHR, textStatus, errorThrown){
                    alert('error: ' + textStatus + ': ' + errorThrown);
                }
            });
            return false;//suppress natural form selection
        });

コントローラに渡す値を取得できますが、現時点では、値の最初の行のみを取得し、他の行は取得しません。AJAXコードに何か問題がありますか?どうもありがとうございました。

4

1 に答える 1

0

したがって、行の詳細を表示するには、次のいずれかのアプローチを使用できます。

コントローラーの方法

def rows = [
        [id:1, name:'name1'],
        [id:2, name:'name2'],
        [id:3, name:'name3']
    ]

def show(){
    [results:rows]
}

def showLine(Long id){
    render rows.find {it.id == id }
}

見る

<html>
<head>
    <g:javascript library="jquery" />
    <r:layoutResources />
</head>
<body>

<table>
    <thead>
        <tr>
            <th>Action</th>
            <th>Id</th>
            <th>Name</th>
        </tr>
    </thead>
    <tbody>
        <g:each in="${results}" status="i" var="r">
            <tr>
                <td><g:remoteLink value="Details" id="${r.id}" action="showLine" update="lineDetails">Details</g:remoteLink></td>
                <td>${r.id}</td>
                <td>${r.name}</td>
            </tr>
        </g:each>
    </tbody>
</table>

<div id="lineDetails">
</div>
</body>
</html>

基本的に、AJAX を使用して showLine メソッドを呼び出し、行オブジェクト ID を渡します。次に、オブジェクトを検索してレンダリングします。レンダリングされたデータは、テーブルの下の div に配置されます。テーブル内で onclick、ボタン、またはリンクを使用するかどうかはあなた次第です。結果ページに詳細を表示する方法もあなた次第です - jqueryダイアログを使用するか、他の何かを使用してください。それが役に立てば幸い

于 2013-01-30T10:21:34.733 に答える