передать объект json в массив - автозаполнение - PullRequest
0 голосов
/ 10 октября 2011

У меня есть два файла.

location.php, that outputs this:

[["javascript"],["PHP"]] 

и в другом файле:

<script type="text/javascript">
$.getJSON('location.php', function(data) {
      var sampleTags = [];

      $.each(data, function(key, val) {
         sampleTags.push(val);
         });

         alert(sampleTags); // show javascript, php


        //-------------------------------
        // Preloading data in markup
        //-------------------------------
        $('#myULTags').tagit({
            availableTags : sampleTags, // this param is of course optional. it's for autocomplete.
            // configure the name of the input field (will be submitted with form), default: item[tags]
            itemName : 'item',
            fieldName : 'tags'
        });
    });
</script>

автозаполнение не работает.Почему?

, если я использую:

var sampleTags = [ 'javascript', 'php'];

все работает хорошо, но с json автозаполнение просто не работает.

Ответы [ 2 ]

3 голосов
/ 10 октября 2011
$.each(data, function(key, val) {
  sampleTags.push(val[0]);
});

должно уменьшить [["foo"], ["bar"]] до ["foo", "bar"]

2 голосов
/ 10 октября 2011
[["javascript"], ["PHP"]]

- двумерный массив.Ваш Javascript ожидает одномерный массив.Получите ваш PHP-вывод:

[ "javascript", "PHP" ]

В PHP массив должен выглядеть так:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...