2017-09-21 63 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會在用戶輸入完文字後顯示輸入的值。按鍵會在用戶輸入任何內容時顯示它的價值。