许多Javascript sum字段选择并将此值输入到输入中

阿米德奥·里奇(Amedeo Ricci)

我正在使用此脚本从数据库MYSQL中恢复一些数据,并且效果很好。我的页面使用PHP。

 <script type = "text/javascript">
$(document).ready(function() {
    $("select#product1").on("change", function() {
        var id = this.value;
        $.ajax({
            url: "ajax.php",
            method: "post",
            data: "id=" + id,
            success: function(response) {
                var datashow = JSON.parse(response);
                price1 = datashow[0].price;
                time1 = datashow[0].time;
                $("input#totalprice").val(price1);
                $("input#totaltime").val(time1);
            }
        });
    });
}); </script>

我的HTML是这样的:

<select id="product1" name="product1">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product1" name="product2">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product1" name="product3">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product1" name="product4">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product1" name="product5">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>


<input id="totalprice" type="text" name="totalprice" />
<input id="totaltime" type="text" name="totaltime" />

这样,我就可以用我的ajax.php文件恢复的值来填充我的2个不同的输入:totaltimetotalprice

问题是我有5个不同的选择,不仅是product1,而且还有product2,product3,product4和product5。

我需要为每次选择自动输入从我的ajax中恢复的值的总和,这是我的2个输入,totalprice和totaltime。这意味着我将拥有(或可能不是,它们不是必填字段)price2和time2,price3和time3 ...

更清楚地说:我有5个不同的选择字段,其中包含动态产品。这些产品中的每一个都有在mysql中存储的价格和时间,我可以通过json恢复这些价格和时间。我需要将totalprice(每个价格的总和)和总时间存储到输入中。

对如何解决这个问题有任何想法吗?

谢谢 :)

拉里·莱恩

如果我理解正确,那么您想遍历json数据并将每个价格添加到总变量中,然后将其存储在totalprice输入中。我假设使用html标记,您将必须调整ID和类名以使其匹配。现在,当然,现在将在AJAX调用期间从数据库中动态添加每个输入的值,好像您已经弄清楚了那一部分。只要确保将JavaScript代码放在Ajax成功函数中即可。

实时预览

HTML:

<select class="product" name="product1">
<option value="" selected="selected">-</option>
<option value='20'>20</option>
</select>
<select class="product" name="product2">
    <option value="" selected="selected">-</option>
    <option value='30'>30</option>
</select>
<select class="product" name="product3">
    <option value="" selected="selected">-</option>
    <option value='40'>40</option>
</select>
<select class="product" name="product4">
    <option value="" selected="selected">-</option>
    <option value='15'>15</option>
</select>
<select class="product" name="product5">
    <option value="" selected="selected">-</option>
    <option value='22'>22</option>
</select>    

<input id="totalprice" type="text" name="totalprice" />
<input id="totaltime" type="text" name="totaltime" />

JavaScript / JQuery(置于Ajax成功函数的末尾):

var total = 0;

//I am using this to simulate your ajax function since I don't have access to your database
$("select").on("change", function() {

  //Place the following code at the bottom of your ajax success function

  //clear out the total to
  //prevent old prices from being added to the total
  total = 0;

  $(".product").each(function() {

    //if the value is not an empty string
    if ($(this).val() !== "") {

      //add the price to the total
      total += parseInt($(this).val());

    }

  }); //end each function

  //update the total
  $("#totalprice").val(total);

}); //end on change event

更新可选解决方案:基于您的评论,我相信您会想要执行以下操作。现在请记住,您将必须更改ajax调用的url,并将datashow变量的值切换回原来的值。我必须将其更改为使用json文件来模拟您对数据库的调用。

HTML:

    <div id="products">
<select id="product1" name="product1">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product2" name="product2">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product3" name="product3">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product4" name="product4">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
<select id="product5" name="product5">
    <option value="" selected="selected">-</option>
    <option value='17'>Product1</option>
</select>
        </div>

<input id="totalprice" type="text" name="totalprice" />
<input id="totaltime" type="text" name="totaltime" />

JavaScript:

$(document).ready(function() {
    $("#products select").on("change", function() {
        var id = this.value;
        $.ajax({
            url: "ajax.json",
            method: "get",
            data: "id=" + id,
            success: function(response) {               

         //initialize totalPrice to 0 if doesn't contain a value
         var totalPrice = $("#totalprice").val() !== "" ? parseInt($("#totalprice").val()): 0;

                var datashow =  response;//JSON.parse(response);
                var price1 = parseInt(datashow[0].price);
                var time1 = datashow[0].time;


                //add the total price
                $("input#totalprice").val(totalPrice + price1);

                //Do something similar for time, I don't how you plan on parsing this?
                $("input#totaltime").val(time1);


            }
        });
    });
}); 

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript Div Html 包含许多输入

来自分类Dev

从输入字段到数组的值-Javascript,localstorage

来自分类Dev

根据PHP中的动态值添加许多输入字段

来自分类Dev

JavaScript数组需要显示许多隐藏字段

来自分类Dev

更改许多输入字段的值

来自分类Dev

使用Javascript捕获值输入字段并将其放在目标URL中

来自分类Dev

从输入字段更新javascript变量中的值

来自分类Dev

从输入字段更新javascript变量中的值

来自分类Dev

从javascript中的输入字段输出值

来自分类Dev

Javascript:从选择输入中获取多个值

来自分类Dev

在javascript中将值输入到函数中

来自分类Dev

从许多可用的Javascript中按其名称选择变量/对象

来自分类Dev

在javascript的输入数字类型字段中输入值时,如何显示输入文本字段?

来自分类Dev

无法通过 javascript 从输入字段中选择值

来自分类Dev

Javascript值在输入字段值中不可见

来自分类Dev

在PHP变量的Javascript值存储中设置输入字段值

来自分类Dev

使许多输入字段的值与字符串数组相同

来自分类Dev

执行输入值字段中存在的javascript-JavaScript

来自分类Dev

使用 JavaScript 将输入字段循环到每个表列中

来自分类Dev

如何使用许多方法在JavaScript中扩展功能?

来自分类Dev

在Javascript中嵌套许多函数调用(Unix管道)的好方法

来自分类Dev

我如何在一个“ IF” javascript中编写许多“ OR”

来自分类Dev

Javascript压缩-在一行中定义许多变量

来自分类Dev

如何使用许多方法在JavaScript中扩展功能?

来自分类Dev

从许多行中添加指定的元素JavaScript / jQuery

来自分类Dev

如何查找表单中的所有输入字段,然后使用Javascript将它们的值复制到textarea中?

来自分类Dev

计算JavaScript中的两个输入字段值

来自分类Dev

如何在javascript中获取输入字段的值

来自分类Dev

单击时,在输入字段中的图像映射javascript toogle值

Related 相关文章

  1. 1

    Javascript Div Html 包含许多输入

  2. 2

    从输入字段到数组的值-Javascript,localstorage

  3. 3

    根据PHP中的动态值添加许多输入字段

  4. 4

    JavaScript数组需要显示许多隐藏字段

  5. 5

    更改许多输入字段的值

  6. 6

    使用Javascript捕获值输入字段并将其放在目标URL中

  7. 7

    从输入字段更新javascript变量中的值

  8. 8

    从输入字段更新javascript变量中的值

  9. 9

    从javascript中的输入字段输出值

  10. 10

    Javascript:从选择输入中获取多个值

  11. 11

    在javascript中将值输入到函数中

  12. 12

    从许多可用的Javascript中按其名称选择变量/对象

  13. 13

    在javascript的输入数字类型字段中输入值时,如何显示输入文本字段?

  14. 14

    无法通过 javascript 从输入字段中选择值

  15. 15

    Javascript值在输入字段值中不可见

  16. 16

    在PHP变量的Javascript值存储中设置输入字段值

  17. 17

    使许多输入字段的值与字符串数组相同

  18. 18

    执行输入值字段中存在的javascript-JavaScript

  19. 19

    使用 JavaScript 将输入字段循环到每个表列中

  20. 20

    如何使用许多方法在JavaScript中扩展功能?

  21. 21

    在Javascript中嵌套许多函数调用(Unix管道)的好方法

  22. 22

    我如何在一个“ IF” javascript中编写许多“ OR”

  23. 23

    Javascript压缩-在一行中定义许多变量

  24. 24

    如何使用许多方法在JavaScript中扩展功能?

  25. 25

    从许多行中添加指定的元素JavaScript / jQuery

  26. 26

    如何查找表单中的所有输入字段,然后使用Javascript将它们的值复制到textarea中?

  27. 27

    计算JavaScript中的两个输入字段值

  28. 28

    如何在javascript中获取输入字段的值

  29. 29

    单击时,在输入字段中的图像映射javascript toogle值

热门标签

归档