javascript
  • jquery
  • html-table
  • keyup
  • 2017-11-17 6 views 0 likes 
    0

    を呼び出してからkeyup:Javascriptが私はこのようなテーブルを持っている他のテーブル値に

    <tbody id="invoice_item"> 
    <tr> 
    <td><input name='qty[]' type='text' class='form-control form-control-sm qty' value='0'></td> 
         <td><input name='price[]' type='text' class='form-control form-control-sm price' value='0'></td> 
         <td><input name='sub_total[]' type='text' class='form-control form-control-sm sub_total' value='0' readonly></td> 
    </tr> 
    </tbody> 
    

    数量/価格変更小計があまりにも変化したときに、私はJavascriptを作りたいです。 私のJS:

    $("#invoice_item").delegate(".qty","keyup",function(){ 
        var qty = $(this).val(); 
        var price = tr.find(".price").val(); 
        alert(price); 
        var sub_total = qty * price; 
        alert(sub_total); 
        tr.find(".sub_total").html(sub_total); 
    
    
        }) 
        $("#invoice_item").delegate(".price","keyup",function(){ 
         var price = $(this).val(); 
         var qty = tr.find(".qty").val(); 
         alert(qty); 
    
         }) 
    

    トラブルがtr.find(".").val();あるようです。 私はそれを警告しようとするが、誰も助けることはできない。私は他の入力をどのように呼び出すことができますか? $(this).val();は問題ありません。

    +0

    詳細を入力してください: 'invoice_item'要素は何ですか? HTMLコードに追加します。また、 'tr'変数の定義をJSコードに追加してください。 –

    +0

    編集していただきありがとうございますが、 'tr'変数がどこでどのように定義されているのかわかりません。 –

    +0

    これはまったく定義されていないので、それが 'alert(price)'呼び出しが行われない理由です。 –

    答えて

    0

    :あなたはこれを使用することができ、他の入力値を取得するには

    $(".qty").on("keyup",function(){} 
    

    あなたが入力にイベントを添付することができますので同じように、新しいon方法を使用して自分自身をタグ付けそれは によって定義する必要があります。var tr = $(this).parent()。parent();

    ありがとうございました!

    1

    delegate()はv 3.0で廃止予定です。どのjqueryを使用していますか?私は解決

    $(".price").val() 
    
    +0

    まだ動作していません。

    +1

    @BillyAlfredoはhttps:///codepen.io/MooMee/pen/dZZpOO – cowCrazy

    +0

    配列内に同じ名前のテーブルに複数の行があるとどうなりますか? –

    関連する問題