2017-10-17 113 views
0

JSON具有键:id,n和d。我需要获取所选项目的'id'和'n'才能创建网址。jQuery UI自动完成select从json获取所有值

$.ajax({ 
    type: "GET", 
    url: "q.json", 
    success: function(data) { 
     var items = []; 
     $.each(data, function(key, val) { 
     items.push(val); 
     }); 

     $("#tags").autocomplete({ 
     maxResults: 4, 
     minLength: 2, 
     source: function(request, response) { 
      var filteredArray = $.map(items, function(item) { 
      if (item.n.toUpperCase().indexOf(request.term.toUpperCase()) == 0) { 
       return item.n + " ("+item.d+")"; 
      } else { 
       return null; 
      } 
      }); 
      response(filteredArray.slice(0, this.options.maxResults)); 
     }, 
     select: function(event, ui) { 
      alert("you selected " + ui.item.id); 
      window.location.href = ui.item.id+"-"+ui.item.n; 
     } 
     }); 

    } 
    }); 

我该如何达到预期的效果?

+0

这不是很清楚,你能指望什么呢? – GGO

回答

0

我有3个按键在JSON,不得不让他们在选择:函数(事件,UI)

 $("#tags").autocomplete({ 
      maxResults: 4, 
      minLength: 2, 
      source: function(request, response) { 
      var filteredArray = $.map(items, function(item) { 
       if (item.n.toUpperCase().indexOf(request.term.toUpperCase()) == 0) { 
       return { 
        id: item.id 
        label: item.n + " ("+item.d+")", 
       } 
       } else { 
       return null; 
       } 
      }); 
      response(filteredArray.slice(0, this.options.maxResults)); 
      }, 
      select: function(event, ui) { 
      event.preventDefault(); 
      $("#tags").val(ui.item.label); 
      window.location.href = ui.item.id+"-"+ui.item.n; 
      }, 
     }); 

     });