1

2 つのリストを表示する 2 つのテーブルがあります。これは私のjspです

<%@page  contentType="text/html;charset=UTF-8"language="java"pageEncoding="UTF-8"%>
<%@taglib prefix="s"uri="/struts-tags"%>
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Insert title here</title>

</head>
<body>
<s:form name="tableForm"method="post">
<th>
<s:submit action="verify" key="Add"></s:submit>

</th>
<table id="one">
<thead>
<tr>
<th ></th>
<th> Id</th>
<th>Name</th>
<th>Status</th>
<th>Type</th>
<th>RollUp Type</th>
<th>System</th>
</tr>
</thead>
    <tbody>
    <s:iterator value="formList1">
        <tr>
        <td><s:checkbox name="checked" fieldValue="%{#attr.ID}" theme="simple" ></s:checkbox>
</td>
<td><s:property value="ID"/></td>
<td><s:property value="NAME"/></td>
<td><s:property value="STATUS"/></td>
<td><s:property value="TYPE"/></td>
<td><s:property value="ROLLUPTYPE"/></td>
<td><s:property value="UNIT"/></td>

        </tr>
        </s:iterator>
     </tbody>
</table>

<table id="two">
<thead>
<tr>
<th ></th>
<th> Id</th>
<th>Name</th>
<th>Status</th>
<th>Type</th>
<th>RollUp Type</th>
<th>System</th>
</tr>
</thead>
    <tbody>
    <s:iterator value="formList2">
        <tr>
        <td><s:checkbox name="checked" fieldValue="%{#attr.ID}" theme="simple" ></s:checkbox>
</td>
<td><s:property value="ID"/></td>
<td><s:property value="NAME"/></td>
<td><s:property value="STATUS"/></td>
<td><s:property value="TYPE"/></td>
<td><s:property value="ROLLUPTYPE"/></td>
<td><s:property value="UNIT"/></td>

        </tr>
        </s:iterator>
    </tbody>

</table>
<s:a href="#" id="add">add &gt;&gt;</s:a>
    <s:a href="#" id="remove">&lt;&lt; remove</s:a>
</s:form >
</body>
</html>

ここでは、[追加] をクリックしたときにチェックされた行をテーブル 1 からテーブル 2 に移動し、[削除] をクリックしたときにチェックされた行をテーブル 2 からテーブル 1 に移動します。このリンクhttp://jsfiddle.net/AkVTw/1/で同様の例を見つけましたが、私のjspではうまくいきません。

jQuery/javascriptを使用してこの機能を実装するためのサンプル コードを提案していただければ、非常に役に立ちます。

また、struts 2 でs:optiontransferselectタグを使用してこの機能を実装することは可能ですか?

4

2 に答える 2

2

チェックされた行を単純に複製し、それらとテーブル 1 を残してテーブル 2 に移動する場合は、.clone() を使用するか、最初のテーブルからそれらを取り出して 2 番目のテーブルに移動する場合appendTo(); を使用できます。jsfiddle: http://jsfiddle.net/eFaca/

$("#addRows").click(function(){
$("#table").find("input:checked").closest("tr").appendTo("#table2");
});
$("#removeRows").click(function(){
$("#table2").find("input:checked").closest("tr").appendTo("#table");
});
于 2013-05-19T13:58:40.400 に答える