如果用戶將其更改爲小於1的任何值,我想將其改爲1。每次值改變時它都應該工作。到目前爲止,我可以無條件地將該值更改爲1:檢查輸入值是否小於x如果在jQuery中將其更改爲x
jQuery(document).ready(function() {
jQuery('input[type=text]').val('1');
});
接下來應該做什麼?
如果用戶將其更改爲小於1的任何值,我想將其改爲1。每次值改變時它都應該工作。到目前爲止,我可以無條件地將該值更改爲1:檢查輸入值是否小於x如果在jQuery中將其更改爲x
jQuery(document).ready(function() {
jQuery('input[type=text]').val('1');
});
接下來應該做什麼?
您將使用change
事件和if
陳述。
下面的代碼可以讀作「當myInput的值發生變化,如果myInput的值小於1,myInput的值設置爲1」
jQuery('input[type=text]').on('change', function() {
var myInput = jQuery(this);
if (myInput.val() < 1) {
myInput.val('1');
}
});
實施例:
jQuery('input[type=text]').on('change', function() {
var myInput = jQuery(this);
if (myInput.val() < 1) {
myInput.val('1');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text">
收聽您輸入的change
事件。
jQuery('input[type=text]').on('change', function() {
if (jQuery(this).val() < 1) {
jQuery(this).val('1');
}
}
但也許你想用<input type="number" min="1">
代替?
您需要添加的事件偵聽器change
或keyup
。
$(function() {
$('#myval').on('change', function() {
// allow minimum of 1
$(this).val(Math.max($(this).val(), 1))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myval" value="1" />
儘管在特定情況下,你可能只是有一個number
類型的輸入和min
屬性添加到它來達到相同的結果:
<input type="number" id="myval" value="1" min="1" />
謝謝,我不知道怎麼可以這樣:var myInpu t = jQuery(this); 被讀取,它有什麼作用? – benua
這只是將輸入緩存到變量中,以便jQuery不必找到它兩次。每次運行'jQuery('input [type = text]')'時,jQuery都必須搜索整個文檔以查找元素。如果將結果存儲在變量中,則查找只需發生一次。 – Turnip