2016-08-05 3 views
1

Ich ziehe ein lokales JSON-Array herunter und speichere es, wenn meine Seite geladen wird, aber meine Ergebnisse scheinen nicht zu filtern? Irgendwelche Ideen?Jquery UI Auto Komplettes Filter lokal JSON Array

var invoiceList= @Html.Raw(
     Json.Encode(
      ((IEnumerable<Invoice>)Model.InvoiceList) 
      .Select(inv=> new 
      { 
       Id = inv.Id, 
       Amount= inv.Amount 
      }) 
     ) 
    ); 

Html Ergebnis:

var invoiceList= [{"Id":"8da2786f-8f3d-496e-81eb-12be330cb67a","Amount":"100.00"},{"Id":"2D5A84EB-B146-43EE-8D28-8801F9F02027","Amount":"150.00"}]; 

HTML:

<input id="project" onkeydown="InvoiceSearch(this);"> 
<script> 
function InvoiceSearch(elemt) { 
     var id = $(elemt).attr('id'); 
     var searchTerm = $(elemt).val(); 
     $("#project").autocomplete({ 
      minLength: 1, 
      focus: function(event, ui) { 
       $("#project").val(ui.item.Amount); 
       return false; 
      }, 
      source: invoiceList, 

       select: function(event, ui) 
       { 
        $("#project").val(ui.item.Amount); 
        return false; 
       } 
     }).autocomplete("instance") 
      ._renderItem = function(ul, item) { 
       console.log(item); 
       return $("<li>") 
        .append("<div>" + item.Amount+ "<br></div>") 
        .appendTo(ul); 
      }; 
    }; 
</script> 

Antwort

0

Das Problem Namenszuordnungen zurückzuführen war, es ein Label und Wert will, war ich eine Id und Menge verwendet für meine Benennung, also meine JSON-Ergebnisse umbenannt und beschriftet.

var invoiceList= [{"value":"8da2786f-8f3d-496e-81eb-12be330cb67a","label":"100.00"},{"value":"2D5A84EB-B146-43EE-8D28-8801F9F02027","label":"150.00"}]; 

Hoffe, das hilft jedem anderen.