0

我有这段代码不起作用。我正在尝试将 2 个文本框相乘并显示解决方案,但是当我单击时它没有显示任何内容。到目前为止我的代码是这样的......下面的代码有什么问题?

<script type="text/javascript">
    $('#AddProduct').click(function() {
        var totalPrice = $('#debt').val() * $('#income').val();
        $('#solution').val() = totalPrice;
    });
</script>

<form name="form" method="post" action="">
    <table>
        <tr>
            <td><input type="text" name="income" id="income" /></td>
            <td><input type="text" name="debt" id="debt" /></td>
            <td><input type="text"  id="solution"  name="solution" /> </td>
        </tr>
  </table>
</form>
4

4 回答 4

4

您的 jQuery 需要:

$('#AddProduct').click(function() {
   var totalPrice = parseInt($('#debt').val()) * parseInt($('#income').val()); // you can't multiply strings
   $('#solution').val(totalPrice); // This is how you use .val() to set the value.
});
于 2013-02-16T19:53:09.063 回答
0

这是您设置解决方案文本框值的方式:

$('#solution').val(totalPrice);

此外,您的页面上是否真的有一个 id 为“AddProduct”的元素?

于 2013-02-16T19:53:32.980 回答
0
var totalPrice = $('#debt').val() * $('#income').val();
$('#solution').val(totalPrice);

演示

于 2013-02-16T19:54:49.430 回答
-1

之后,您将 jquery 添加到您的页面,如下所示

<script src="http://code.jquery.com/jquery-latest.js"></script>

您可以执行以下操作:

$('#AddProduct').click(function() {
var totalPrice = parseInt($('#debt').val(),10) * parseInt($('#income').val(),10);
$('#solution').val(totalPrice);
});

你必须告诉它你想要value你所定位的输入。而且,始终提供第二个参数(基数)给parseInt. 如果没有提供它,它会尝试过于聪明并自动检测它,并可能导致意想不到的结果。

提供10假设您想要一个以 10 为基数的数字。

于 2013-02-16T19:54:51.187 回答