我键入时如何通过ajax动态更新Materialise芯片的自动完成数据?

时间:2019-01-21 16:15:15

标签: jquery html ajax materialize

我正在尝试根据用户类型来更新我的物化筹码自动完成数据,但是对此没有任何方法。

我试图重新初始化可自动完成芯片的方法,但结果是它一直隐藏列表。

我尝试的另一种方法是分别添加芯片和自动完成。然后我将使用autocomplete的updateData()方法。此方法工作正常,但用户必须按Enter键添加芯片。因此,我将click事件附加到了autocomplete提供的项目上,以便项目的html并对输入执行addchip()方法。这也引起了更多的问题。

所以我问是否有比这更简单的方法。

$(".autocomplete").autocomplete({
  data: {item1:null,item2:null}
 });

$(".chips").chips();

//updating the list
$("#element).keyup(function(){
   $.ajax({
        url: "path/to/data/", 
        type: "GET",   
        dataType: 'jsonp',
        cache: false,
        success: function(response){
                    //formatting the data for materialize
                    var data = {};
                    for (var i = 0; i < response.length; i++) {
                        data[response[i]] = null;
                    } 

            $("#element").autocomplete("updateData",data);                   
        }         
   })
});

$(".autocomplete-content li span").click(function(){

        item3 = $(this).html();
       $("#element").addChip({
            tag:item3,
            image:''
          })

      //clearing the input after the chip has been added
    $("#element").val("");
});  

0 个答案:

没有答案