Как мне перебрать хеш в JS и вернуть все совпадающие результаты? - PullRequest
0 голосов
/ 31 мая 2011

У меня есть следующий фрагмент кода JS в функции, которая отвечает на нажатие пользователем клавиши ввода (не отображается).Часть кода, которая меня интересует, показана:

       $.each(cityhash,function(key,value){
            if(value['city']== user_input) {
                $('#city').empty().append(value['city']);
                $('#state').empty().append(value['city']);
            }

У меня есть следующий хэш:

cityhash =  [{"address":"07288 Albertha Station","city":"Littelside","state":"Missouri"},{"address":"0615 Mervin Rapid","city":"Tessmouth","state":"South Carolina"},{"address":"779 Elody Lock","city":"Littelside","state":"New Mexico"}]

Как видите, город Литтелсайд дважды появляется в хэше,Моя проблема в приведенной выше функции $ .each, отображает только 1 из 2 Littlesides.Я хотел бы показать все совпадения в хэше, а не только один.

Как я могу исправить свой код так, чтобы он возвращал все соответствующие города, а не просто отображал один город?

Заранее спасибо

1 Ответ

3 голосов
/ 31 мая 2011

Вам нужно избавиться от вызовов empty (). Вы очищаете # город / # штат в каждом матче.

$('#city').append(value['city']);
$('#state').append(value['state']);

Кроме того, вы, вероятно, хотите добавить название штата, а не название города к элементу #state

...