Javascript函数不适用于divid.blur

时间:2015-01-26 22:30:59

标签: javascript php jquery javascript-events

我有一个情况,我需要根据输入使用javascript计算税...这里是代码:

PHP代码:

<tr>
              <td colspan="2" class="blank"> </td>
              <td colspan="2" class="total-line">Subtotal</td>
              <td class="total-value"><div id="subtotal">$0.00</div></td>
          </tr>
                     <tr>
              <td colspan="2" class="blank"> </td>
              <td colspan="2" class="total-line">Tax(%)</td>

              <td class="total-value"><textarea id="txp">0.00</textarea></td>
          </tr>
                    <tr>

              <td colspan="2" class="blank"> </td>
              <td colspan="2" class="total-line">Taxes</td>
              <td class="total-value"><div id="tax">$0.00</div></td>
          </tr>

Javascript代码:

function update_tax() {
    var txc = $("txp").val() * $("#subtotal").val() / 100;
    $("#tax").html(txc);
}

$("#txp").blur(update_tax);

但功能不起作用......任何人都可以帮助我,为什么这不起作用。

提前致谢

1 个答案:

答案 0 :(得分:1)

更改

<td class="total-value"><div id="subtotal">$0.00</div></td>

到:

<td class="total-value">$<span id="subtotal">0.00</span></td>

和您的代码:

 $(document).ready(function(){
   function update_tax() {
       var txc = parseFloat($("#txp").val()) * parseFloat($("#subtotal").text()) / 100;
       $("#tax").html("$"+txc);
    }
    $("#txp").blur(update_tax);
  });

现在代码在页面完全加载时开始执行。我从$移动了div - 符号,并将div更改为span(内联)。所以$和值出现在同一行。

在乘法函数中,我使用parseFloat将任何字符串转换为float。可以使用jQuery textarea使用val()检索范围内容text()中的内容。同样在函数中,您使用txp作为选择器,它将引用名为txp的节点。已将其更新为#txp以选择包含id的元素:txp