2

我试图将名为 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 。

4

2 回答 2

2

qty1正如您在描述中所说的是一个文本框。你正在使用该text()属性获得它的价值。这就是为什么你得到空白作为答案。

使用该.val() 属性获取文本框的值。

于 2013-07-01T14:18:24.783 回答
1

您必须将值解析为FloatInt使用parseFloat or parseInt

var qty1 = $("#qty1").html();
var priceeach1 =  $("#priceeach1").html();
 var total=parseFloat(priceeach1)  * parseInt(qty1);
 $('#linetotal1').html(total);
于 2013-07-01T13:59:40.703 回答