[英]How to select and set multiple textboxes text in jquery
請我有我的 Jquery 代碼,從那以后我想做幾件事。 我有一個帶有一堆文本框的表單。 我想驗證每個文本框以只允許數字。 還顯示不是數字的錯誤。
var validateForm = function(frm){
var isValid = true;
resetError();
$(":text").each(function(variable){
console.log("The variable is" , variable);
if(!isNormalInteger(variable.val))
{
$("#error"+variable.id).text("Please enter an integer value");
isValid = false;
}
});
if(!isValid)
return false;
};
以上失敗。 當我在控制台上打印變量時,我得到的數字是 0 - 9。我的文本框還為空,它返回數字。 我試過variable.val()
仍然失敗並返回數字。 我修改了我的選擇
$("input[type=text]", frm).each();
我的表單是我通過 id 選擇的表單。 它也失敗了。 下面是我的 html 標簽和文本框的示例。 我有大約十個
<div class="grid-grid-8">
<input class=" text" id="id" name="name" type="text">
<br>
<p class="hint">Once this limit is reached, you may no longer deposit.</p>
<p class="errorfield" id="errorMAXCASHBAL"></p>
請問如何正確選擇? 此外,我上面的重置函數還返回遞增的整數值。 p 屬性屬於 errorField 類,我想設置 text 屬性。 請問我如何實現這一目標? 以前我只試過類名$(.errorField)
。 它也失敗了。 任何幫助,將不勝感激。
var resetError = function(){
//reset error to empty
$("p errorfield").each(function(value){
console.log("the val", value);
//value.text() = '';
});
};
//filter non integer/numbers
function isNormalInteger(str) {
return /^\+?\d+$/.test(str);
}
主要問題是您在 javascript 中的選擇器。 正如 laszlokiss88 所說的.each()
函數的錯誤用法。
這里是你的代碼的工作示例:的jsfiddle該例子的所有.each()
函數使用$(this)
選擇里面,而不是指數和價值
您使用.each
錯誤的,因為第一個參數是索引,第二個參數是元素。 檢查文檔。 此外,resetError 的正確選擇器是: p.errorfield
因此,您應該將代碼修改為如下所示:
var resetError = function(){
$("p.errorfield").each(function (idx, element) {
$(element).text("");
});
};
有了這個,我相信你也可以修復上層功能。 ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.