2016-12-07 2 views
-1

ストラットのCssClass stuts内部属性が動作テキストフィールドが、クラスセレクタは、ループを削除通常のHTML入力タグをクラスは、ここでテキストフィールドと通常のHTML入力タグをstuts iは支柱が形成したフォーム

<s:form id="Form" cssClass="form-horizontal" theme="css_xhtml" action="saveStudentMarks"> 

<div class="form-group"> 
<label class="col-xs-3 control-label">Class</label> 
<div class="col-xs-5"> 
<input type="text" class="form-control" name="className" id="studentclassInModal" readonly="readonly"/> 
</div> 

</div> 

<div class="form-group">      
<label class="col-xs-3 control-label">Phone</label>      
<div class="col-xs-3">     
<s:textfield name="parentDTO.parentMobileNumber" cssClass="form-control marks" maxlength="10"/> 
</div> 
</div> 
</s:form> 
+0

pls checkの下にいくつかの変更と回答が表示されました。 %を取得するコードを追加しましたhttps://jsfiddle.net/4mwbudob/1/ –

答えて

1

が動作していません、テキスト入力の値を設定するval()html()を変更

$(document).ready(function() { 
    $(".marks").on('input', function() { 
    calculateSum(); 
    }); 

}); 

function calculateSum() { 

    var sum = 0; 
    //iterate through each textboxes and add the values 
    $(".marks").each(function() { 
    //add only if the value is number 
    if (!isNaN(this.value) && this.value.length != 0) { 
     sum += parseFloat(this.value); 
    } 

    }); 
    //.toFixed() method will roundoff the final sum to 2 decimal places 
    $("#sum").val(sum.toFixed(2)); 
}; 

デモ:https://jsfiddle.net/4mwbudob/

+0

このコードは私が期待しているように動作していますが、このコードを置くとkeyup関数自体が呼び出されない理由 –

+0

どのようなkeyup関数ですか?あなたがあなたのページにjqueryを追加してもよろしいですか? – madalinivascu

+0

あなたは数字を貼り付けてフォームを更新できるように、入力イベントへのkeyupイベントはありますか? – madalinivascu

1

は、このようにいくつかのことを試してみてください:

$('#sum').focus(function(){ // It works on when textbox having id sum get focus 
    //var marks = []; 
    $('.marks').each(function(){ 
     console.log($(this).val()); 
     // push the marks in marks array and add them and show where you want 
    }); 
}); 

Working Fiddle

1

は、いくつかの変更を行っている、代わりに.html()

$("#sum").val(sum.toFixed(2)); 

Calulateの入力のための

jsfiddle

使用 .val() Sのパーセンテージは、適切よう jquery

$("#per").val((sum/100).toFixed(2)); 
0

.each()は、特定の要素の一つ一つをチェックするために使用されます。

$(document).ready(function(){ 
     $(".marks").keyup(function(){ 
      calculateSum(); 
     }); 
}); 

function calculateSum() { 
    var sum = 0; 
    $(".marks").each(function() { 
     if(!isNaN(this.value) && this.value.length!=0) { 
      sum += parseFloat(this.value); 
     } 
    }); 
    console.log(sum) 
} 
+0

$( "#sum")。html(sum.toFixed(2));何もしません。投稿する前にチェックしてください –

+0

私は質問を投稿した後にのみこの回答を得ますが、プロジェクトのキーアップ機能でこのコードを置くと、なぜか動作していません。 –

+0

@jancy、コンソールメッセージを見てください。おそらく、あなたのプロジェクトにこのイベントを防ぐ別のjsエラーがあります。 – Jaber

関連する問題