douang2297 2016-11-02 06:07
浏览 76
已采纳

如何使用onchange事件?

This is my code where if i put quantity then it will calculate it and show it in total amount. my problem is that if i change my quantity in between process my total amount is not change.

How to do it onchange quantity total amount have to different

<script>  
        function valid(obj)
        {
            var frm=document.getElementById("frm");
            var qty=parseInt(document.getElementById("quantity").value);
            var price=parseInt(obj.value);
            var total=parseInt(document.getElementById("total").value);
            if(isNaN(total))
            {
                total=0;
            }
            if(obj.checked==true)
            {
                total=total+(qty*price);
                document.getElementById("total").value=total;
            }
            else
            {
                total=total-(qty*price);
                document.getElementById("total").value=total;
            }
            /*for(var i=0;i<frm.length;i++)
            {
                if(frm[i].type=="checkbox")
                {
                    if(frm[i].checked==true)
                    {
                        total=total+(parseInt(frm[i].value)*qty);
                    }
                }
            }*/
            document.getElementById("total").value=total
        }           
    </script>
<form action="abc.html" method="post" id="frm" onsubmit="return valid(this);">
    <table>
        <tr>  
            <th colspan="2">Qualification</th>
        </tr>
        <tr>
            <td><input type="checkbox" name="check_list[]" value="1000" onClick="valid(this);" /></td><td>BCA</td>
            <td><input type="checkbox" name="check_list[]" value="2000" onClick="valid(this);" /></td><td>MCA</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="check_list[]" value="1200" onClick="valid(this);" /></td><td>BBA</td>
            <td><input type="checkbox" name="check_list[]" value="1000" onClick="valid(this);" /></td><td>MBA</td>
        </tr>
        <tr>
            <td colspan="2"><input type="text" name="quantity" id="quantity" placeholder="Quantity"></td>
        </tr>
        <tr>
            <td colspan="2"><input type="text" name="total" id="total" value="" placeholder="Total"></td>
        </tr>
        <tr>
            <td colspan="2"><input type="button" onClick="valid();" name="submit" value="Send" /></td>
        </tr>
    </table>      
</form>

</div>
  • 写回答

1条回答 默认 最新

  • duanla1996 2016-11-02 06:37
    关注

    Define var isFormSubimited = false; Set isFormSubimited = true in valid function.

    Add "onchange='onQuantityChange()'" to quantity input element.

    Add following function.

    function onQuantityChange()
    {
      if(isFormSubimited && $("input[type='checkbox']:checked").length > 0)
      {
        //var _form = document.getElementById('frm');
        //_form.submit();
        valid();
      } 
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 计算二重积分∫∫e^(x+y)dxdy,其中0≤x≤1,0≤y≤1,试分别用复合辛普森公式(取n=4)以及高斯求积公式(取n=4)计算积分 给出matlab程序
  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的