简体   繁体   English

JQuery数据表链接onclick事件

[英]JQuery datatable link onclick event

I have a jquery datatable that contains multiple columns and rows as below. 我有一个jquery数据表,包含多个列和行,如下所示。

<table>
    <thead>
        <tr>
            <td>Name</td>
            <td>Class</td>
            <td>Action</td>
            <td>Score</td>
            <td>Corrected Score</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Student1</td>
            <td>Math</td>
            <td><a href="#">Add 5</a>
            </td>
            <td>73</td>
            <td>
                <input type="text" id="1_final_score" />
            </td>
        </tr>
        <tr>
            <td>Student2</td>
            <td>Biology</td>
            <td><a href="#">Add 5</a>
            </td>
            <td>84</td>
            <td>
                <input type="text" id="2_final_score" />
            </td>
        </tr>
        <tr>
            <td>Student3</td>
            <td>History</td>
            <td><a href="#">Add 5</a>
            </td>
            <td>50</td>
            <td>
                <input type="text" id="3_final_score" />
            </td>
        </tr>
    </tbody>

When i click on the "Add 5" link, I want to add 5 to the score in the corresponding row and insert the result in the final score input field. 当我点击“添加5”链接时,我想在相应行中的分数中添加5并将结果插入最终分数输入字段。 I have tried using the jquery row-select feature, but am unable to figure out how to accomplish the above. 我已经尝试使用jquery行选择功能,但我无法弄清楚如何完成上述操作。

$(document).ready(function () {
$('table').find('a').click(function () {
    var original = parseInt($(this).parents('tr').find('td:nth-child(4)').text()) + 5;

    $(this).parents('tr').find('input[type=text]').val(original);

   });

});

You can try this: 你可以试试这个:

$(document).ready(function(){
    $("a").on("click", function(){
        var num=parseInt($(this).closest("td").next("td").text());
        num=num+5;
        $(this).closest("td").next("td").text(num);
        $(this).closest("tr").find("input").val(num);

    });
});

FIDDLE 小提琴

Try with this 试试这个

$('a:contains("Add 5")').click(function(){
    $(this).parents('tr').find('td input:text').val(+$(this).parent().next('td').text() + 5 )
 });

FIddle : http://jsfiddle.net/2n0bevxo/172/ 飞行: http//jsfiddle.net/2n0bevxo/172/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM