Jquery 将html表列值复制到指定的列输入

Jquery 将html表列值复制到指定的列输入,jquery,html-table,Jquery,Html Table,下面的HTML表格是用我的PHP代码生成的,可以有任意数量的行,最多可达500行或更多 <table> <tr> <th>Name</th> <th>Working</th> <th>Non-Working</th> <th>Top Working Rate</th> </tr

下面的HTML表格是用我的PHP代码生成的,可以有任意数量的行,最多可达500行或更多

<table>
    <tr>
        <th>Name</th>
        <th>Working</th>    
        <th>Non-Working</th>    
        <th>Top Working Rate</th>
    </tr>
    <tr>
        <td>DX</td>
        <td><input type="text" name="items[4357][1]" value="1.00"></td>
        <td><input type="text" name="items[4357][2]" value="1.00"></td>
        <td>None</td>
    </tr>
    <tr>
        <td>Kindle</td>
        <td><input type="text" name="items[4358][1]" value="1.00"></td>
        <td><input type="text" name="items[4358][2]" value="1.00"></td>
        <td>None</td>
    </tr>
    <tr>
        <td>Kindle 2</td>
        <td><input type="text" name="items[4359][1]" value="1.00"></td>
        <td><input type="text" name="items[4359][2]" value="1.00"></td>
        <td>None</td>
    </tr>
    <tr>
        <td>Kindle 2 3G</td>
        <td><input type="text" name="items[4360][1]" value="1.00"></td>
        <td><input type="text" name="items[4360][2]" value="1.00"></td>
        <td>None</td>
    </tr>
    <tr>
        <td>Kindle 3 3G</td>
        <td><input type="text" name="items[4361][1]" value="1.00"></td>
        <td><input type="text" name="items[4361][2]" value="1.00"></td>
        <td>None</td>
    </tr>
    <tr>
        <td>Kindle Fire</td>
        <td><input type="text" name="items[4362][1]" value="1.00"></td>
        <td><input type="text" name="items[4362][2]" value="1.00"></td>
        <td>60.00</td>
    </tr>
    <tr><td><input type="submit" value="Save Rates"></td></tr>
</table>

名称
工作
非工作
最高工作效率
DX
没有一个
点燃
没有一个
Kindle2
没有一个
Kindle 2 3G
没有一个
Kindle33G
没有一个
亚马逊
60
通过单击链接或按钮,我想将第4列中的值复制到第2列中的输入值。如果值为“无”,则不应复制该行。最好,该解决方案将使我能够将要从/复制到的列作为参数传递,但如有必要,我可以进行调整

显然,在处理较大的表时,代码可能会变慢,但最终用户预计会有一些延迟。

$(“#mybutton”)。单击(函数(e){
$("#mybutton").click(function(e) {
    e.preventDefault();
    $("table").children("tbody").children("tr").each(function(i, row) {
        var cols = $(row).find("td");
        if (cols.length > 0 && $(cols[3]).text() != 'None') { /* skip rows with only <th> */
            $(cols[1]).find("input").val($(cols[3]).text());
        };
    });
});
e、 预防默认值(); $(“表”)。子项(“tbody”)。子项(“tr”)。每个(函数(i,行){ var cols=$(行).find(“td”); 如果(cols.length>0&&$(cols[3]).text()!='None'){/*只使用*/ $(cols[1]).find(“input”).val($(cols[3]).text()); }; }); });
您可以尝试以下方法:

$('input[type=submit]').on('click', function(e) {
    e.preventDefault();
    $('tr').each(function() {
        var $this = $(this),
            prc = $this.find('td').eq('3').html();
        if (prc !== 'None') {
            $this.find('td').eq('1').find('input').val(prc);
        }
    });
});​

谢谢,效果也很好。如果可以的话,我也会接受你的回答。将在更大的数据集上测试两者的性能,并可能修改我接受的解决方案。