2017-09-21 40 views
0

在剃刀视图中,我使用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。它总是削减最后的字符。是什么原因?

+2

使用'onkeyup'而不是'onkeypress'为'keypress'事件表示一个字符__being__类型。另外,当你使用jQuery时,使用unobstrusive事件处理程序 – Satpal

回答

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"/>

0

使用onkeypress事件而不是onkeypress。 onkeyup会在用户输入完文字后显示输入的值。按键会在用户输入任何内容时显示它的价值。