[英]Chrome jquery onchange counterup
https://jsfiddle.net/76mwc1pe/
$('#xnumber').change(function() {
if ( $('#ynumber').val() < $('#xnumber').val() )
{
$('#ynumber').val($('#xnumber').val());
}
} );
如果您進入xnumber字段並使用鍵盤上的向上箭頭,則應看到ynumber增長到xnumber。
這與值很好:
1)從1到9,然后必須手動將ynumber強制為11。
2)也可以工作到99,然后必須再次手動更改為101。
3)超過101,沒問題,您可以毫無問題地成長。
為什么要點1)和2)?
經過Chrome的測試,Firefox根本無法工作。
因為當您使用.val()時 ,您訪問的是字符串值而不是整數。 如果將值轉換為整數,盡管確實需要#xnumber
的起始值,但它可以按預期#xnumber
:
$('#xnumber').change(function() {
if ( parseInt($('#ynumber').val(), 10) <= parseInt($('#xnumber').val(), 10) )
{
$('#ynumber').val($('#xnumber').val());
}
} );
JSFiddle: https ://jsfiddle.net/76mwc1pe/4/
為什么將xnumber
id設置為0的輸入? 因為如果我們調用parseInt('', 10)
,它將返回NaN或“非數字”。 您可以通過在if
另外進行檢查來解決此問題。
parseInt
的第二個參數是基數或基數(當然,我們使用的是基數10)。
MDN: parseInt()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.