javascript - jquery utilise la méthode for pour obtenir la valeur de l'attribut de page d'un nom répété et ne peut pas obtenir d'aide.
PHPz
PHPz 2017-05-19 10:17:03
0
3
518

La situation est la suivante : j'ai un formulaire qui doit ajouter des éléments d'entrée de manière dynamique, et le nom de chaque élément d'entrée est le même. Étant donné qu'une vérification non nulle est requise, envisagez d'utiliser jquery pour obtenir la valeur de chaque élément et la juger.
Le code est le suivant :

$("#reg").click(function(){

        for(var i=0;i <= reNum - 1;i++){
            alert(i);
            alert($("input[name='userLoginNo']:eq(i)").val());
        }
    })

Parmi eux, reg est le bouton de soumission (tapez est bouton). Après avoir cliqué, il sera vérifié. Si tous ne sont pas vides, il sera soumis. Mais quand je veux capturer la valeur de chaque entrée, je ne peux que cracher un mot indéfini.
Si vous remplacez le i dans alert($("input[name='userLoginNo']:eq(i)").val()); par un numéro direct, tel que alert($("input[name=') userLoginNo ']:eq(0)").val()); peut afficher la valeur d'entrée normalement
Veuillez nous aider à découvrir pourquoi, merci beaucoup~

PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
巴扎黑

Les variables de votre eq sont des chaînes, pas des variables. Vous devez utiliser "+i+"

.
阿神
var check = false;
$("input[name='userLoginNo']").each(function(){
    if($("input[name='userLoginNo']").val() == ''){
        check = true;
    }
    //指针指向
    $(this).focus();
    //结束循环 
    if(check){
    alert('不可为空');
    }
    return;
})
巴扎黑

La variable i doit être utilisée comme paramètre changeant dynamiquement, plutôt que placée entre guillemets doubles en tant que chaîne fixe i. Changez-le par ceci et vous pourrez lire : $("input[name='userLoginNo']:eq("+i+")").val(). Je me suis testé.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal