在剃刀视图中,我使用Html.EditFor。
@Html.EditorFor(model => model.Salary, new { htmlAttributes = new { id = "SalaryEdit", @class = "form-control", onkeypress = "myFunction()" } })
脚本
function myFunction() {
var source = $('#SalaryEdit');
console.log($("input[id^='SalaryEdit']").val());
}
当我输入EditorFor时,例如:1,23。它只显示1,2。它总是削减最后一个字符。是什么原因?
答案 0 :(得分:0)
使用onkeypress事件而不是onkeypress。 onkeyup将在用户完成文本输入后显示输入值。 keypress会在用户输入任何内容时显示它的值。
答案 1 :(得分:0)
$("#SalaryEdit").on("keyup",function(){
var str=$(this).val().split('.');
var val='';
if(str.length>1)
val =(str[1].length>1) ?str[0]+'.'+ str[1].substring(0, str.length-1):str[0]+'.'+str[1];
else
val =str[0];
$(this).val(val);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="SalaryEdit" type="text"/>