2016-04-06 8 views
0

データベースから事前定義された「パック」を使用して数量フォームを更新します。最初の関数の "packs"ドロップダウンからfromフィールドを更新しますが、それらの値を使用してテキスト入力の値を乗算する2番目の関数はフィールドを更新しません。jQueryを使用して選択項目から複数項目の数量を更新

また、コンソール出力を見ると、量入力が変更されたときに、第1および第2の関数からのajax要求が両方とも実行されるように見えます。

jQuery(document).ready(function($) { 

     $("[id^=packs]").on('change', function() { 
     var packname = this.value; 
     console.log("packname:"+packname); 
     var lineno = this.getAttribute('data-lineno'); 
     console.log("lineno: "+lineno); 
     $.ajax({ 
      type: "post", 
      url: "<?php echo base_url(); ?>products/pack", 
      cache: false, 
      // ContentType : 'application/json', 
      data: {name: packname}, 
      success: function(json){ 
      try{ 
       var obj = jQuery.parseJSON(json); 
       console.log(obj); 
       console.log("size1: "+obj.packdetail[0].size1); 

        $('#'+lineno+'-size1').attr("value", obj.packdetail[0].size1); 
        $('#'+lineno+'-size2').attr("value", obj.packdetail[0].size15); 
        $('#'+lineno+'-size3').attr("value", obj.packdetail[0].size2); 
        $('#'+lineno+'-size4').attr("value", obj.packdetail[0].size25); 
        $('#'+lineno+'-size5').attr("value", obj.packdetail[0].size3); 
        $('#'+lineno+'-size6').attr("value", obj.packdetail[0].size35); 
        $('#'+lineno+'-size7').attr("value", obj.packdetail[0].size4); 
        $('#'+lineno+'-size8').attr("value", obj.packdetail[0].size45); 
        $('#'+lineno+'-size9').attr("value", obj.packdetail[0].size5); 
        $('#'+lineno+'-size10').attr("value", obj.packdetail[0].size55); 
        $('#'+lineno+'-size11').attr("value", obj.packdetail[0].size6); 
        $('#'+lineno+'-size12').attr("value", obj.packdetail[0].size65); 
        $('#'+lineno+'-size13').attr("value", obj.packdetail[0].size7); 
        $('#'+lineno+'-size14').attr("value", obj.packdetail[0].size75); 
        $('#'+lineno+'-size15').attr("value", obj.packdetail[0].size8); 
        $('#'+lineno+'-size16').attr("value", obj.packdetail[0].size85); 
        $('#'+lineno+'-size17').attr("value", obj.packdetail[0].size9); 
        $('#'+lineno+'-size18').attr("value", obj.packdetail[0].size95); 
        $('#'+lineno+'-size19').attr("value", obj.packdetail[0].size10); 
        $('#'+lineno+'-size20').attr("value", obj.packdetail[0].size105); 
        $('#'+lineno+'-size21').attr("value", obj.packdetail[0].size11); 
        $('#'+lineno+'-size22').attr("value", obj.packdetail[0].size115); 
        $('#'+lineno+'-size23').attr("value", obj.packdetail[0].size12); 
        $('#'+lineno+'-size24').attr("value", obj.packdetail[0].size125); 

      } 
      catch(e) { 
       console.log('Exception while request..'); 
      }}, 
      error: function(){ 
       console.log('Error while request..'); 
      } 
    }); 

    }); 

    //multiply packs 

    $("[id^=packs_qty]").on('change', function() { 
    var pack_qty = this.value; 
    var packname = $(this).attr("data-name"); 
    console.log("qty:"+pack_qty); 
    console.log("packname:"+packname); 
    var lineno = this.getAttribute('data-lineno'); 
    console.log("lineno: "+lineno); 
    $.ajax({ 
     type: "post", 
     url: "<?php echo base_url(); ?>products/pack", 
     cache: false, 
     // ContentType : 'application/json', 
     data: {name: packname}, 
     success: function(json){ 
     try{ 
      var obj = jQuery.parseJSON(json); 
      console.log(obj); 
      console.log("size1: "+obj.packdetail[0].size1*pack_qty); 

       $('#'+lineno+'-size1').attr("value", (obj.packdetail[0].size1*pack_qty)); 
       $('#'+lineno+'-size2').attr("value", obj.packdetail[0].size15*pack_qty); 
       $('#'+lineno+'-size3').attr("value", obj.packdetail[0].size2*pack_qty); 
       $('#'+lineno+'-size4').attr("value", obj.packdetail[0].size25*pack_qty); 
       $('#'+lineno+'-size5').attr("value", obj.packdetail[0].size3*pack_qty); 
       $('#'+lineno+'-size6').attr("value", obj.packdetail[0].size35*pack_qty); 
       $('#'+lineno+'-size7').attr("value", obj.packdetail[0].size4*pack_qty); 
       $('#'+lineno+'-size8').attr("value", obj.packdetail[0].size45*pack_qty); 
       $('#'+lineno+'-size9').attr("value", obj.packdetail[0].size5*pack_qty); 
       $('#'+lineno+'-size10').attr("value", obj.packdetail[0].size55*pack_qty); 
       $('#'+lineno+'-size11').attr("value", obj.packdetail[0].size6*pack_qty); 
       $('#'+lineno+'-size12').attr("value", obj.packdetail[0].size65*pack_qty); 
       $('#'+lineno+'-size13').attr("value", obj.packdetail[0].size7*pack_qty); 
       $('#'+lineno+'-size14').attr("value", obj.packdetail[0].size75*pack_qty); 
       $('#'+lineno+'-size15').attr("value", obj.packdetail[0].size8*pack_qty); 
       $('#'+lineno+'-size16').attr("value", obj.packdetail[0].size85*pack_qty); 
       $('#'+lineno+'-size17').attr("value", obj.packdetail[0].size9*pack_qty); 
       $('#'+lineno+'-size18').attr("value", obj.packdetail[0].size95*pack_qty); 
       $('#'+lineno+'-size19').attr("value", obj.packdetail[0].size10*pack_qty); 
       $('#'+lineno+'-size20').attr("value", obj.packdetail[0].size105*pack_qty); 
       $('#'+lineno+'-size21').attr("value", obj.packdetail[0].size11*pack_qty); 
       $('#'+lineno+'-size22').attr("value", obj.packdetail[0].size115*pack_qty); 
       $('#'+lineno+'-size23').attr("value", obj.packdetail[0].size12*pack_qty); 
       $('#'+lineno+'-size24').attr("value", obj.packdetail[0].size125*pack_qty); 

     } 
     catch(e) { 
      console.log('Exception while request..'); 
     }}, 
     error: function(){ 
      console.log('Error while request..'); 
     } 
}); 

}); 

}); 

答えて

0

あなたは試してみるしてくださいあなたは

parseInt(obj.packdetail[0].size1) * parseInt(pack_qty); 

を使用することができます番号にobj.packdetail[0].size1pack_qtyを変換してみてください、このため してくださいすることができます。..

関連する問題