使用jquery将tr元素添加到另一个表中

时间:2015-02-17 17:23:36

标签: javascript php jquery html angularjs

如何将表行中的某些元素移动到另一个带有jquery的表中,我不确定'append',因为它也需要session,这是最好的方法,使用ajax,json,php(cart),或者也许有角度,任何建议将不胜感激

就像我在第一行点击添加一样,它会像这样显示

小提琴>>

<div class="part-container">

<div class="part-right">
 <div class="table-responsive" id="right-table">
            <table class="table table-striped">
              <thead>
                <tr>
                  <th>Part Number</th>
                  <th>Desc</th>
                  <th>Het</th>
                  <th>Cart</th>
                </tr>
              </thead>
              <tbody>
                <tr class="part_number" rel="part_number_9505092011120026">
                  <td>1,001</td>
                  <td>Lorem</td>
                  <td>ipsum</td>
                    <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,002</td>
                  <td>amet</td>
                  <td>consectetur</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,003</td>
                  <td>Integer</td>
                  <td>nec</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,003</td>
                  <td>libero</td>
                  <td>Sed</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,004</td>
                  <td>dapibus</td>
                  <td>diam</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number" rel="part_number_1905092011120046">
                  <td>1,005</td>
                  <td>Nulla</td>
                  <td>quis</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,006</td>
                  <td>nibh</td>
                  <td>elementum</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,007</td>
                  <td>sagittis</td>
                  <td>ipsum</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number" rel="part_number_5305092011120107">
                  <td >1,008</td>
                  <td>Fusce</td>
                  <td>nec</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,009</td>
                  <td>augue</td>
                  <td>semper</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,010</td>
                  <td>massa</td>
                  <td>Vestibulum</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,011</td>
                  <td>eget</td>
                  <td>nulla</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number" rel="part_number_1805092011120139">
                  <td>1,012</td>
                  <td>taciti</td>
                  <td>sociosqu</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,013</td>
                  <td>torquent</td>
                  <td>per</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number" rel="part_number_9805092011120157">
                  <td>1,014</td>
                  <td>per</td>
                  <td>inceptos</td>
                  <td><a href="#">Add</a></td>
                </tr>
                <tr class="part_number">
                  <td>1,015</td>
                  <td>sodales</td>
                  <td>ligula</td>
                  <td><a href="#">Add</a></td>
                </tr>
              </tbody>
            </table>
          </div>
        </div>
       </div>
<div class="table-responsive">
            <table class="table table-striped">
              <thead>
                <tr>
                  <th>No</th>
                  <th>Part Number</th>
                  <th>Desc</th>
                  <th>Qty / Unit</th>
                  <th>Desire QTY</th>
                  <th>Het ( $ )</th>
                  <th>Estimate Total ( $ )</th>
                  <th>Delete </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>1</td>
                  <td>Lorem</td>
                  <td>ipsum</td>
                  <td>1</td>
                  <td>JS Spinner ( - ) 3 ( + )</td>
                  <td>$12</td>
                  <td>$36</td>
                    <td><a href="#">Delete</a></td>
                </tr>
              </tbody>
            </table>
          </div>

CSS : 

.part-container { 
    width: 100%; 
    display: block;  
    height: 551px;
}
.part-right { 
    width: 100%; 
    float: left;  
}
.red {
    background: red;
}

2 个答案:

答案 0 :(得分:2)

移动一行很容易。在点击您的Add链接时,您需要创建所点击行的副本。

var tr = $(this).closest('tr').clone();

这会复制点击的行,然后我们将下一行移到第二个表格。

$('.tbl-two').append(tr);

<强> Example

至于会话,您至少需要将部件ID存储到变量中。如果变量在会话中不存在,则创建它,如果它存在,则将部件ID附加到变量的末尾,并使用,等分隔符。

然而,创建一个购物车&#39; table比复制一行复杂一点。

答案 1 :(得分:0)

嗯,你有很多事要理解。你想要实现的是客户端需要javascript。 Jquery或使用其他javascript框架取决于您实现相同的结果。如果您尝试将此操作(您可以执行AJAX样式或常规发布/获取样式)记录到数据库或会话,而不是需要深入了解服务器端脚本,那么您在该世界中也有很多选择。为了实现这个客户端,我只需将一个事件绑定到单击的行,然后将该行附加到另一个表并从原始表中删除。你需要学习DOM操作。使用DOM manupilation,JQuery相当不错。我建议你使用它。