【问题标题】:How to multiply 2 td in Javascript?如何在Javascript中乘以2 td?
【发布时间】:2015-11-21 22:03:36
【问题描述】:

我有一个表格,其中一个 td 如果选中一个复选框,则为 1,我想将此 td 与另一个 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);
});

【问题讨论】:

  • 还有什么问题。
  • 如果您使用的是 jQuery,请更新您问题上的标签以包含它。
  • 欢迎来到 SO,请为任何有帮助的答案投票,并检查最适合您的答案。这样做有助于提高您的积分,以及提高贡献者积分。

标签: javascript html checkbox html-table


【解决方案1】:
$('#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);
}

当然,如果您想将数据保存到服务器或使用更改行为,更好的方法应该是使用表单元素(输入)。

【讨论】:

    【解决方案2】:

    #td1 不支持 change 事件,因为这仅适用于交互式元素(例如 inputselecttextarea)。

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

    【讨论】:

    • @Vohuman,老实说,我只看到了这一点,但您也可以通过观察添加答案
    猜你喜欢
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 2021-12-30
    相关资源
    最近更新 更多