开发者

How to find object value in array with Jquery?

开发者 https://www.devze.com 2023-04-01 19:27 出处:网络
How can I search in an array to see if the value exists? var fruitVarietyChecked = $(\'input[name=fruitVariety]:checked\').val开发者_如何学运维();

How can I search in an array to see if the value exists?

var fruitVarietyChecked = $('input[name=fruitVariety]:checked').val开发者_如何学运维();

$.getJSON('getdata.php', {fruitVariety: fruitVarietyChecked}, function(fruittype) {

            var html = '';
            $.each(fruittype, function(index, array) {

                alert( "Key: " + index + ", Value: " + array['fruittype'] );
                //shows array - Key: 0 , Value: special item

                //this is where the problem is
                if ($(array.has("special item"))){

                    $("p").text("special item" + " found at " + index);
                    return false;
                    }

                html = html + '<label><input type="radio" name="fruitType" value="' + array['fruittype'] + '" />' + array['fruittype'] + '</label> ';
            });
            $('#fruittype').html(html);
            });
}

So far I tried .is , .has , .getdata and .inarray, but it's getting me nowhere.

The JSON call returns: [{"fruittype":"special item"},{"fruittype":"blue"},{"fruittype":"red"}]


I think its a syntax error: Change if ($(array.has("special item"))){ to

if ($.inArray("special item", array) > -1){ 

EDIT:

If the array has complex objects then you cannot use inArray, instead you can use the jQuery filter to achieve the same, e.g:

    var filtered = $(array).filter(function(){
        return this.fruittype == "special item";
    });
    if(filtered.length > 0){


if ( $.inArray(valueToMatch, theArray) > -1 ) 
0

精彩评论

暂无评论...
验证码 换一张
取 消