如何解决此价格,电话号码,2位数字的计算脚本并添加成本文本框?

小指全部

我有一个价格,电话号码和最后一个电话号码的2位数字的计算脚本。

价格将通过选择链接在我的网站上显示。价格和2位数自动显示时,我有一个小问题。当价格自动显示并输入电话号码时,“费用”列中没有自动费用,仍然为0。我必须单击“价格”列和“数字”列以显示费用。

例如,如果您在价格列中输入2000,然后输入电话号码,则数字列将自动显示,但在成本列中没有自动费用,并且仍为0。因此,您必须在价格列和数字列中单击才能显示成本。

再有一个小问题,如果我将成本列添加到像这样的文本字段中

<tr>
        <td>4</td>
        <td>Cost</td>
        <td><input class="txt" onfocus="calculateSum()" name="sum" type="text" id="sum"></td>
</tr>

带有文本字段的“成本”列中也没有自动成本。

如何在“费用”列和文本字段中显示自动费用?关于此脚本有解决方案吗?

例子 :

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>berkelilingkesemua.info</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>

<body>

<script>
$(document).ready(function() {
	$('#phone_number').on('keyup', function() {
	$('#digits').val($(this).val().substr(-2));
});
});
</script>
<script>
$(document).ready(function(){
 
        //iterate through each textboxes and add keyup
        //handler to trigger sum event
        $(".txt").each(function() {
 
            $(this).keyup(function(){
                calculateSum();
            });
        });
 
    });
 
    function calculateSum() {
 
        var sum = 0;
        //iterate through each textboxes and add the values
        $(".txt").each(function() {
 
            //add only if the value is number
            if(!isNaN(this.value) && this.value.length!=0) {
                sum += parseFloat(this.value);
            }
 
        });
        //.toFixed() method will roundoff the final sum to 2 decimal places
        $("#sum").html(sum.toFixed(0));
}
</script>
        
<table width="300px" border="1">
    <tr>
        <td width="40px">1</td>
        <td>Price</td>
        <td><input class="txt" onfocus="calculateSum()" name="price" type="text" id="price"></td>
    </tr>
    <tr>
        <td>2</td>
        <td>Phone Number</td>
        <td><input name="phone_number" type="text" id="phone_number"></td>
    </tr>
    <tr>
        <td>3</td>
        <td>2 Digits</td>
        <td><input class="txt" onfocus="calculateSum()" name="digits" type="text" id="digits"></td>
    </tr>
    <tr id="summation">
        <td>&nbsp;</td>
        <td align="right">Cost :</td>
        <td align="center"><span id="sum">0</span></td>
    </tr>
</table>

</body>
</html>

基兰·莎基亚(Kiran Shakya)

您的问题不清楚。我已尽力解决您的问题。刚开始使用Web编程不是问题,但是无法向他人表达您的问题,可能会使您的问题无解。因此,请尝试使您的问题尽可能简单易懂。

我将您的jQuery代码压缩为几行,并使您的两位数字段为只读字段,以便它由代码本身计算。

$(document).ready(function() {
  var price=$('#price'),
      phone=$('#phone_number'),
      digits=$('#digits'),
      sum=$('#sum');
  function calculateSum() {
    var digitsVal=parseInt(phone.val().substr(-2));
    digitsVal=isNaN(digitsVal)?0:digitsVal;
    digits.val(digitsVal);
    sum.html(parseFloat(price.val())+digitsVal);
  };
  phone.on('keyup', calculateSum);
  price.on('keyup', calculateSum);
});
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>berkelilingkesemua.info</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>

<body>
<table width="300px" border="1">
    <tr>
        <td width="40px">1</td>
        <td>Price</td>
        <td><input class="txt" name="price" type="text" id="price"></td>
    </tr>
    <tr>
        <td>2</td>
        <td>Phone Number</td>
        <td><input name="phone_number" type="text" id="phone_number"></td>
    </tr>
    <tr>
        <td>3</td>
        <td>2 Digits</td>
        <td><input class="txt" name="digits" type="text" id="digits" readonly></td>
    </tr>
    <tr id="summation">
        <td>&nbsp;</td>
        <td align="right">Cost :</td>
        <td align="center"><span id="sum">0</span></td>
    </tr>
</table>
</body>
</html>

更新:如果您需要将cost设为文本字段而不是跨度,则只需进行以下更改

$(document).ready(function() {
  var price=$('#price'),
      phone=$('#phone_number'),
      digits=$('#digits'),
      sum=$('#sum');
  function calculateSum() {
    var digitsVal=parseInt(phone.val().substr(-2));
    digitsVal=isNaN(digitsVal)?0:digitsVal;
    digits.val(digitsVal);
    sum.val(parseFloat(price.val())+digitsVal);
  };
  phone.on('keyup', calculateSum);
  price.on('keyup', calculateSum);
});
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>berkelilingkesemua.info</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>

<body>
<table width="300px" border="1">
    <tr>
        <td width="40px">1</td>
        <td>Price</td>
        <td><input class="txt" name="price" type="text" id="price"></td>
    </tr>
    <tr>
        <td>2</td>
        <td>Phone Number</td>
        <td><input name="phone_number" type="text" id="phone_number"></td>
    </tr>
    <tr>
        <td>3</td>
        <td>2 Digits</td>
        <td><input class="txt" name="digits" type="text" id="digits" readonly></td>
    </tr>
    <tr id="summation">
        <td>&nbsp;</td>
        <td align="right">Cost :</td>
        <td align="center"><input type="text" name="sum" id="sum" value="0"></span></td>
    </tr>
</table>
</body>
</html>

我进行了以下更改:

sum.html(parseFloat(price.val())+digitsVal);

成为

sum.val(parseFloat(price.val())+digitsVal);

<td align="center"><span id="sum">0</span></td>

成为

<td align="center"><input type="text" name="sum" id="sum" value="0"></span></td>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

验证7位数字的电话号码

来自分类Dev

iOS 7-2位数字的电话号码不起作用

来自分类Dev

如何使用连字符验证13位数字的电话号码?

来自分类Dev

如何在Masked文本框电话号码输入掩码中验证空值

来自分类Dev

如何预定义电子邮件和/或电话号码的文本框

来自分类Dev

如何在文本框中只允许电话号码并自动将它们隔开?

来自分类Dev

如何在文本框中自动在2位数字后插入连字符“-”?

来自分类Dev

修改电话号码清理正则表达式以处理前1位数字

来自分类Dev

正则表达式以匹配电话号码的前6位数字

来自分类Dev

电话号码的正则表达式为10位数字,并允许使用“-”(JavaScript)

来自分类Dev

正则表达式以匹配电话号码的前6位数字

来自分类Dev

电话号码验证。只允许 0 作为第一位数字

来自分类Dev

将电话号码的第一位数字修剪为国际格式

来自分类Dev

如何将 12 位数字从富文本框移动到文本框 2

来自分类Dev

电话号码的Java正则表达式-必须仅包含8位数字,且不超过2个破折号

来自分类Dev

如何使正则表达式进入文本框以仅允许数字(最多4位数字)到小数点后2位?

来自分类Dev

如何在HTML文本框中仅允许4位数字?

来自分类Dev

使用可选的+88或01开头的11位数字验证孟加拉国的电话号码

来自分类Dev

如何标准化文本文件中的电话号码?

来自分类Dev

如何仅使用正则表达式来限制文本框的文本长度为9位数字

来自分类Dev

如何将语音电话号码转换为数字电话号码?

来自分类Dev

用Javascript将电话号码填充到3个输入文本框中的名称相同,没有ID

来自分类Dev

8位数电话号码的正则表达式(新加坡号码长度)

来自分类Dev

如何解析电子邮件或电话号码参数?

来自分类Dev

IP 地址如何解析为电话号码?

来自分类Dev

Python Pandas:如何在Pandas数据框中的电话号码前添加“ +”号?

来自分类Dev

如何固定asp.net的数字位数的文本框

来自分类Dev

如何固定asp.net的数字位数的文本框

来自分类Dev

如何验证 8 到 10 位长的电话号码?

Related 相关文章

  1. 1

    验证7位数字的电话号码

  2. 2

    iOS 7-2位数字的电话号码不起作用

  3. 3

    如何使用连字符验证13位数字的电话号码?

  4. 4

    如何在Masked文本框电话号码输入掩码中验证空值

  5. 5

    如何预定义电子邮件和/或电话号码的文本框

  6. 6

    如何在文本框中只允许电话号码并自动将它们隔开?

  7. 7

    如何在文本框中自动在2位数字后插入连字符“-”?

  8. 8

    修改电话号码清理正则表达式以处理前1位数字

  9. 9

    正则表达式以匹配电话号码的前6位数字

  10. 10

    电话号码的正则表达式为10位数字,并允许使用“-”(JavaScript)

  11. 11

    正则表达式以匹配电话号码的前6位数字

  12. 12

    电话号码验证。只允许 0 作为第一位数字

  13. 13

    将电话号码的第一位数字修剪为国际格式

  14. 14

    如何将 12 位数字从富文本框移动到文本框 2

  15. 15

    电话号码的Java正则表达式-必须仅包含8位数字,且不超过2个破折号

  16. 16

    如何使正则表达式进入文本框以仅允许数字(最多4位数字)到小数点后2位?

  17. 17

    如何在HTML文本框中仅允许4位数字?

  18. 18

    使用可选的+88或01开头的11位数字验证孟加拉国的电话号码

  19. 19

    如何标准化文本文件中的电话号码?

  20. 20

    如何仅使用正则表达式来限制文本框的文本长度为9位数字

  21. 21

    如何将语音电话号码转换为数字电话号码?

  22. 22

    用Javascript将电话号码填充到3个输入文本框中的名称相同,没有ID

  23. 23

    8位数电话号码的正则表达式(新加坡号码长度)

  24. 24

    如何解析电子邮件或电话号码参数?

  25. 25

    IP 地址如何解析为电话号码?

  26. 26

    Python Pandas:如何在Pandas数据框中的电话号码前添加“ +”号?

  27. 27

    如何固定asp.net的数字位数的文本框

  28. 28

    如何固定asp.net的数字位数的文本框

  29. 29

    如何验证 8 到 10 位长的电话号码?

热门标签

归档