0

Amazonの「注文」のリストが表示され、リンクとして「注文番号」が表示されたjspがあります。リンクをクリックすると、ポップアップに詳細を表示したいと思いました。

私の質問は、親ページから同じリストを使用してデータベースに再度アクセスせずに、選択したリンクのポップアップjspで詳細を取得するにはどうすればよいですか。

私が使用し<s:subset source="devOrdLst" count="1" start="">ているのは、インデックスに過ぎない開始値を取得した場合、クリックされた注文番号の詳細を表示できると想定しています。

テクノロジーはjQuery、Struts2、javaを使用しました。プラグインを提案しないでください。

親ページ:

<s:iterator value="orderList" id="orders">
   <tr>
      <td><a href="#" id=orderid><s:property value="orderId"/></a></td>
      <td><s:property value="orderDate"/></td>
      <td><s:property value="CustomerName"/></td>
   </tr>
</s:iterator>

選択したorderIdに基づくポップアップで、サーバーにアクセスせずにorderListの詳細をインデックス別に表示しました

jQueryを使用してこれを親ウィンドウからポップアップに渡すにはどうすればよいですか。

前もって感謝します。

4

1 に答える 1

0

次のようになります。

<s:iterator value="orderList" status="status">
   <tr>
      <td>
          <%-- action maybe a jsp page or java class --%>
          <s:url var="url" action="detail">
            <s:param name="index" value="#status.index"/>
            <s:param name="orderId" value="%{orderId}"/>
          <a href="%{url}">
            <s:property value="orderId"/>
          </a>
      </td>
      <td><s:property value="orderDate"/></td>
      <td><s:property value="CustomerName"/></td>
   </tr>
</s:iterator>

orderId と index を渡すことができます...

更新 1

サーバーを再度呼び出したくない場合。これを試すことができます。ここには環境がないので、自分でやらなければなりません。

<s:iterator value="orderList" status="status">
   <tr id="<s:property value="%{orderId}">">
      <td>
          <%-- action maybe a jsp page or java class --%>
          <a href="#" id="orderId">
            <s:property value="orderId"/>
          </a>
      </td>
      <td><s:property value="orderDate"/></td>
      <td><s:property value="CustomerName"/></td>
   </tr>
</s:iterator>
<div id="popup"></div>
<script>
  $("a#orderId").click(function(){
    var orderId = this.val();
    var result= "<ul>";
    $('tr[id=orderId] td').each(function(){
        result.append("<li>" + this.html() + "</li>");
    });
    result.append("</ul>");
    $('#popup').html(result);
  });
</script>
于 2012-06-27T19:35:49.367 に答える