2014-08-18 3 views
0

opencart의 관리자 패널에 양식이있어 총 제품 비용이 책정되어 비용이 절감됩니다.onKeyup 제거 입력란의 이벤트 처리기

3 개의 편집 가능한 입력란과 전체 입력란이 있습니다.

전체 입력

내가 데이터 필드를 자동 완성 몇 가지 버튼을했습니다 (이것은 다른 개발자에 의해 만들어진) onKeyUp에 나가 일을하고 있지만 방식의 코딩, 그것은 전체 onKeyUp에 밖으로 작동 이제는 데이터를 자동 채우기 위해 버튼을 클릭하면 필드를 클릭하고 버튼을 눌러 (일반적으로 Enter) 전체 필드를 업데이트해야합니다.

onKeyUp 함수를 제거하고 전체 작업을 수행하는 이벤트 핸들이 있나요? ive 버튼을 누른 후 상자를 클릭해야합니까?

<table border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td nowrap="nowrap"><input onKeyUp="totalcost(this.form);" type="text" name="cost" value="<?php echo $cost; ?>" style="text-align:right; background-color: #ffd7d7; border: thin solid #999;" /></td> 
    <td width="40" align="center" nowrap="nowrap">=</td> 
    <td nowrap="nowrap"><input onKeyUp="totalcost(this.form); if(!this.value) this.value=0; totalcost(this.form);" id="cog" type="text" name="cost_amount" value="<?php echo $cost_amount; ?>" style="border: thin solid #999;" /></td> 
    <td width="50" align="center" nowrap="nowrap"><?php echo $text_cost_or; ?></td> 
    <td nowrap="nowrap"><input onKeyUp="totalcost(this.form); if(!this.value) this.value=0; totalcost(this.form);" id="perc" type="text" name="cost_percentage" maxlength="5" value="<?php echo $cost_percentage; ?>" style="border: thin solid #999;" />%</td> 
    <td width="40" align="center" nowrap="nowrap">+</td> 
    <td nowrap="nowrap"><input onKeyUp="totalcost(this.form); if(!this.value) this.value=0; totalcost(this.form);" id="podf" type="text" name="cost_additional" value="<?php echo $cost_additional; ?>" style="border: thin solid #999;" /></td> 
    <td width="40" align="center" nowrap="nowrap">+</td> 
    <td nowrap="nowrap" align="left"><div id="tabs"><a href="#tab-option"><?php echo $text_cost_option_cost; ?></a></div></td>  
    </tr> 
    <tr> 
    <td align="center" nowrap="nowrap"><span class="help"><?php echo $text_cost; ?></span></td> 
    <td>&nbsp;</td> 
    <td align="center" nowrap="nowrap"><span class="help"><?php echo $text_cost_amount; ?></span></td> 
    <td>&nbsp;</td> 
    <td align="center" nowrap="nowrap"><span class="help"><?php echo $text_cost_percentage; ?></span></td> 
    <td>&nbsp;</td> 
    <td align="center" nowrap="nowrap"><span class="help"><?php echo $text_cost_additional; ?></span></td> 
    <td>&nbsp;</td> 
    <td align="left" nowrap="nowrap"><span class="help"><?php echo $text_cost_option; ?></span></td>  
    </tr> 

    <tr> 
    <td> 
     <input type="button" value="POD" id="pod" /> 
     <input type="button" value="STK" id="stk" /> 

     <script> 
      $(function() { 
      $('#pod').on('click', function() { 
       var text = $('#perc'); 
       text.val(0); 
       var text = $('#cog'); 
       text.val(1.55); 
       var text = $('#podf'); 
       text.val(3.10);  
      }); 

      $('#stk').on('click', function() { 
       var text = $('#perc'); 
       text.val(15); 
       var text = $('#cog'); 
       text.val(0); 
       var text = $('#podf'); 
       text.val(0);  
      }); 



     }); 

     </script> 

    </td> 
    </tr> 


    </table> 

답변

0

코드에서 필요한 모든 버튼을 클릭 한 후 값을 설정 한 후 totalcost() 함수를 호출하는 것입니다. 의는 <form>의 ID form를 가지고 당신의 가정하자, 당신은이 작업을 수행 할 수 있습니다 :

<script type="text/javascript"> 
    $(function() { 
     $('#pod').on('click', function() { 
      var text = $('#perc'); 
      text.val(0); 
      var text = $('#cog'); 
      text.val(1.55); 
      var text = $('#podf'); 
      text.val(3.10); 

      totalcost($('#form')); 
     }); 

     $('#stk').on('click', function() { 
      var text = $('#perc'); 
      text.val(15); 
      var text = $('#cog'); 
      text.val(0); 
      var text = $('#podf'); 
      text.val(0); 
      text.val(3.10); 

      totalcost($('#form')); 
     }); 
    }); 
</script> 

참고 totalcost()에 전화를 추가 나는 <form id="form"> 선택을 전달하고있다 곳. 양식의 ID가 다르거 나 ID가 전혀없는 경우 선택기 (또는 <form>)도 조정해야합니다.

+0

완벽하게 작동합니다. 감사합니다. 친구 –

+0

안녕하세요. – shadyyx