Jquery Math,选择下拉值+文本字段

时间:2013-07-01 13:55:07

标签: php jquery ajax drop-down-menu file-io

我试图将名为qty1的文本框的内容乘以使用ajax检索的选择框中的价格。

    <script type="text/javascript" charset="utf-8">
        $(document).ready(function(){
        $('#stock1').on('change', function (){

        var newValue1 = $.getJSON('select2.php', {stockID: $(this).val()}, function(data){
                    var options = '';
                   for (var x = 0; x < data.length; x++) { 
    options += data[x]['priceeach']; 
    }
     $('#priceeach1').text(options);

    var qty1 = $("#qty1").text();
    var priceeach1 =  $("#priceeach1").text();

     $('#linetotal1').text(priceeach1 * qty1);

                });
            });
        });
        </script>
    <script>

脚本会更改此html中的值:

Price Each : &pound;<span id="priceeach1"></span> - Line Total : &pound;<span id="linetotal1"></span>

priceeach1值已更改,但linetotal1值保持为0,即使更改了选择框或更改了qty1中的值也是如此。应该发生的是从下拉列表中的priceeach1乘以文本框qty1。例如,如果priceeach1 = 20.00且qty1为2 linetotal1则为40.00,但我现在得到的只是0。

2 个答案:

答案 0 :(得分:2)

您在说明中所说的qty1是一个文本框。并且您使用text()属性获得了它的价值。这就是为什么你得到答案的空白。

使用.val() property获取文本框的值。

答案 1 :(得分:1)

您必须使用Float

将值解析为IntparseFloat or parseInt
var qty1 = $("#qty1").html();
var priceeach1 =  $("#priceeach1").html();
 var total=parseFloat(priceeach1)  * parseInt(qty1);
 $('#linetotal1').html(total);