JQuery查找具有特定值的输入

时间:2014-06-08 04:48:49

标签: jquery

AJAX数据  {"status":"error","code":"mailList","email":["hello@world.com"]}

// data from ajax request
var myData = JSON.parse(data); 

// check if emails exists
for (var i = 0; i < myData.email.length; i++) {

    // find the fields with matching value   
    $('#finalForm').find('input').each(function() { 
        if( $(this).val() == myData.email[i] ) { 
            $(this).css('border', '1px solid #E33244');
            $(this).after('<span class="errMsg">Oops! You have already referred this email. Please use a different email.</span>');

         } 
    });
}

在上面的代码中,是否有任何替代代码可以找到input fields with matching value。由于此部分代码未在Mac OS上的Firefox 29上执行。非常感谢您的帮助。感谢。

3 个答案:

答案 0 :(得分:0)

如果您只想检查textbox个值,则可以过滤选择器以仅检查文本框。

for (var i = 0; i < myData.email.length; i++) {

// find the fields with matching value   
$('#finalForm').find('input[type="text"]').each(function() { 
    var elem = $(this);
    if( elem.val() == myData.email[i]) { 
        elem.css('border', '1px solid #E33244').after('<span class="errMsg">Oops! You have already referred this email. Please use a different email.</span>');
     } 
});
}

请检查myData.email.lengthmyData.email[i]的结果,以获得更清晰的图片。

答案 1 :(得分:0)

试试这段代码:

// data from ajax request
var myData = JSON.parse(data); 

// check if emails exists
for (var i = 0; i < myData.email.length; i++) {
    var elements = document.forms['fForm'].elements;
    // find the fields with matching value  
    for(var j in elements){
        if(elements[j].value == myData.email[i] ) { 
            elements[j].style.border = '1px solid #E33244';
            $(elements[j]).after('<span class="errMsg">Oops! You have already referred this email. Please use a different email.</span>');

        } 
    }
}

答案 2 :(得分:0)

如下:

var formEmails = finalForm.find("input[type='text']").each(function () {        
    var el = $(this); // cache it
    if(myData.email.indexOf(el.val()) > -1) { 
        // whatever css stuff you wanna do when a dupe
        el.css("border-color", "red");

        // stop checking further if that's your requirement
        e.preventDefault();
        return;
    }
});

查看此fiddle以查看其实际效果。我希望我没有误解你。