douna2633
2019-06-05 05:08
浏览 71
已采纳

如何从ajax数据创建jquery数组?

I wanna create array from ajax response. I took array from ajax and i have to create dynamic data for chips materializecss autocomplete

response from ajax

var tag = '';
$(document).on('keyup', '.tags', function() {

    var _this = $(this).val();

    if(_this.length > 1) {

        $.ajax({
            url: '/story/searchTags',
            type: 'POST',
            dataType: 'JSON',
            data: {
                tag: _this
            },
            success: function(tags) {
                tag = tags;
            }
        });

    }

});

$('.chips-placeholder').chips({
    placeholder: lang_('Your tag'),
    secondaryPlaceholder: '+ tag',
    autocompleteOptions: {
        // I need data like this from response
        data: {
           'Google', null
           'Googol', null
        },
        limit: 5,
        minLength: 2
    }
});
<div class="chips chips-placeholder chips-autocomplete input-field" style="background:#fff">
   <input class="input tags" placeholder="tag" autocomplete="off" />
</div>

that's my code

Finally, thanks to @Vel to find right answer. jsfiddle - work code

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • duanna2026 2019-06-05 05:47
    已采纳

    You need to do like this.

    var tag = '';
    $(document).on('keyup', '.tags', function() {
    
        var _this = $(this).val();
    
        if(_this.length > 1) {
    
        /*$.ajax({
            url: '/story/searchTags',
            type: 'POST',
            dataType: 'JSON',
            data: {
            tag: _this
            },
            success: function(tags) {
            tag = tags;
            }
        });*/
    
        // ['google', 'googol'] <- this array I take from ajax
        tag = ['google', 'googol'];
        var obj = {};       
    
        $(tag).each(function (index, value) {       
            obj[value] = null;          
        });
    
        $('.chips').chips({
          secondaryPlaceholder: '+ tag',
          autocompleteOptions: {              
          data:obj,
          }
          });
        }
    
    });
    

    fiddle link

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题