如何在Javascript中乘以2 td?

时间:2015-08-27 13:31:29

标签: javascript html checkbox html-table

我有一个表,如果选中了一个复选框,其中一个td得1,我想将这个td与另一个复用,并将其显示在第三个。

请参阅此处的html:

    <div>
    <input type="checkbox" id="fut1">check</input>
</div>
<table border="1" cellpadding="10" id="countit">
    <tr>
        <td id="td1"></td>
        <td id="td2">5000</td>
        <td id="td3"></td>
    </tr>
</table>

这是js:

$('#fut1').change(function () {
    if ($(this).is(":checked")) {
        $('#td1').text('1');
    } else {
        $('#td1').text('0');
    }
});

$('#td1').change(function () {
    var me = $('#td1').value;
    var ar = $('#td2').value;
    var sum = me * ar;
    $('#td3').text(sum);
});

2 个答案:

答案 0 :(得分:0)

#td1不支持change事件,因为这仅适用于互动元素(例如inputselecttextarea)。< / p>

您可以在#fut1中的第一个事件监听器中进行计算,也可以在input内声明#td1元素。

答案 1 :(得分:0)

$('#td1').change(function () {  // <--- td elements don't have a change event listener/handler
    var me = $('#td1').value;   // <--- td elements don't have a value
    var ar = $('#td2').value;   // <--- td elements don't have a value
    var sum = me * ar;
    $('#td3').text(sum);
});

如果你想这样做:

$('#fut1').change(function () {
    if ($(this).is(":checked")) {
        $('#td1').text('1');
    } else {
        $('#td1').text('0');
    }
    callTdChange();
});

function callTdChange() {
    var me = parseInt($('#td1').text());
    var ar = parseInt($('#td2').text());
    var sum = me * ar;
    $('#td3').text(sum);
}

当然,更好的方法是在您希望将数据保存到服务器或使用更改行为的情况下使用表单元素(输入)。