簡體   English   中英

如何在jquery中選擇和設置多個文本框文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM