2016-11-02 21 views
0

これは私のコードです。私は数量を置くとそれを計算して総量で表示します。私の問題は、私はプロセスの間に私の総量が変更されていない間に私の量を変更する場合です。 onchangeイベントの使い方は?

はそれを行う方法を onchange量の合計量が持っている
<script> \t 
 
\t \t function valid(obj) 
 
\t \t { 
 
\t \t \t var frm=document.getElementById("frm"); 
 
\t \t \t var qty=parseInt(document.getElementById("quantity").value); 
 
\t \t \t var price=parseInt(obj.value); 
 
\t \t \t var total=parseInt(document.getElementById("total").value); 
 
\t \t \t if(isNaN(total)) 
 
\t \t \t { 
 
\t \t \t \t total=0; 
 
\t \t \t } 
 
\t \t \t if(obj.checked==true) 
 
\t \t \t { 
 
\t \t \t \t total=total+(qty*price); 
 
\t \t \t \t document.getElementById("total").value=total; 
 
\t \t \t } 
 
\t \t \t else 
 
\t \t \t { 
 
\t \t \t \t total=total-(qty*price); 
 
\t \t \t \t document.getElementById("total").value=total; 
 
\t \t \t } 
 
\t \t \t /*for(var i=0;i<frm.length;i++) 
 
\t \t \t { 
 
\t \t \t \t if(frm[i].type=="checkbox") 
 
\t \t \t \t { 
 
\t \t \t \t \t if(frm[i].checked==true) 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t total=total+(parseInt(frm[i].value)*qty); 
 
\t \t \t \t \t } 
 
\t \t \t \t } 
 
\t \t \t }*/ 
 
\t \t \t document.getElementById("total").value=total 
 
\t \t } \t \t \t 
 
\t </script>
<form action="abc.html" method="post" id="frm" onsubmit="return valid(this);"> 
 
\t <table> 
 
\t \t <tr> \t 
 
\t \t \t <th colspan="2">Qualification</th> 
 
\t \t </tr> 
 
\t \t <tr> 
 
\t \t \t <td><input type="checkbox" name="check_list[]" value="1000" onClick="valid(this);" /></td><td>BCA</td> 
 
\t \t \t <td><input type="checkbox" name="check_list[]" value="2000" onClick="valid(this);" /></td><td>MCA</td> 
 
\t \t </tr> 
 
\t \t <tr> 
 
\t \t \t <td><input type="checkbox" name="check_list[]" value="1200" onClick="valid(this);" /></td><td>BBA</td> 
 
\t \t \t <td><input type="checkbox" name="check_list[]" value="1000" onClick="valid(this);" /></td><td>MBA</td> 
 
\t \t </tr> 
 
\t \t <tr> 
 
\t \t \t <td colspan="2"><input type="text" name="quantity" id="quantity" placeholder="Quantity"></td> 
 
\t \t </tr> 
 
\t \t <tr> 
 
\t \t \t <td colspan="2"><input type="text" name="total" id="total" value="" placeholder="Total"></td> 
 
\t \t </tr> 
 
\t \t <tr> 
 
\t \t \t <td colspan="2"><input type="button" onClick="valid();" name="submit" value="Send" /></td> 
 
\t \t </tr> 
 
\t </table> \t \t 
 
</form>

異なる

+0

「プロセス間」とはどういう意味ですか? –

+0

1のような値を数量に入れてチェックボックスをオンにすると、そのフィールドの総量がテキストボックスに表示されます。 –

+0

今、私は2から1に量を変更したい、そして、そのフィールドの総量は自動的に変更する必要があります。私の形式では起こっていません –

答えて

0

に有効な機能でvar isFormSubimited = false; 設定しisFormSubimited = trueを定義します。

数量入力要素に "onchange='onQuantityChange()'"を追加します。

以下の機能を追加します。

function onQuantityChange() 
{ 
    if(isFormSubimited && $("input[type='checkbox']:checked").length > 0) 
    { 
    //var _form = document.getElementById('frm'); 
    //_form.submit(); 
    valid(); 
    } 
} 
+0

その仕事の仲間。 Chechboxをすべてチェックしてから量を変更すると機能しない。それは私がすべてのChechboxを既にチェックして、次に量を変更した場合に動作するはずです。合計金額もまた変更する必要があります –

+0

@AMITSUTARMUMBAIKARあなたはすべてのチェックボックスを選択する必要がありますか、 チェックボックスをオンにした場合、正しく機能しませんか? – spankajd

+0

ya right bro。チェックボックスを選択すると、合計金額が変更されます –

関連する問題