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 の値は変更されますが、select ボックスが変更されたり、qty1 の値が変更されたりしても、linetotal1 の値は 0 のままです。ドロップダウンの 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

Floatとして、またはInt使用して値を解析する必要があります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 に答える