2016-05-10 7 views
0

私は基底としてthisという質問を使用しました。複雑な配列を使用しているときにJqueryオートコンプリートが機能しない

私はJsFiddleを作成して、なぜこれが機能していないかを調べています。私の人生のためには、それを解決できません。 lastNameの最初の文字として「H」と入力しても結果は見つかりません。

誰かが見て、これが試合を引っ張っていない理由を見ることができますか?

 $(document).ready(function asdf() { 


var users = [ 
{ 
    id: "5", 
    userName: "Tclyde", 
    firstName: "Terry", 
    lasttName: "Adams", 
}, 
{ 
    id: "6", 
    userName: "LH", 
    firstName: "Leonie", 
    lasttName: "Henderson", 
}, 
{ 
    id: "7", 
    userName: "CharlesO", 
    firstName: "Charles", 
    lasttName: "O'Dwyer", 
}, 
{ 
    id: "2", 
    userName: "si2030", 
    firstName: "Simon", 
    lasttName: "O'Farrell", 
}, 
{ 
    id: "4", 
    userName: "blade44", 
    firstName: "Clyde", 
    lasttName: "Palmer", 
}, 
{ 
    id: "3", 
    userName: "tt2030", 
    firstName: "David", 
    lasttName: "Remmy", 
}]; 

$("#search").autocomplete({ 
       source: function (req, responseFn) { 
        var re = $.ui.autocomplete.escapeRegex(req.term); 
        var matcher = new RegExp("^" + re, "i"); 
        var a = $.grep(users, function (item, index) { 
         return matcher.test(item.lastName); 
        }); 
        a = $.map(a, function (x) { 
         return { 
          label: x.lastName + ", " + x.firstName, 
          value: x.id, 
          users: x 
         }; 
        }); 
        responseFn(a); 
       }, 
       select: function (event, ui) { 
        location.href = "/UserAdmin/Edit/" + ui.item.id; 
       }, 
       change: function (event, ui) { 
        if (!ui.item) { 
         $("#search").val(""); 
        } 
       } 
      }); 
}); 

答えて

1

誤植はほとんどありません。そこキーlasttNameですが、あなたは働いlastName

$(document).ready(function() { 
     var users = [{ 
     id: "5", 
     userName: "Tclyde", 
     firstName: "Terry", 
     lasttName: "Adams", 
     }, { 
     id: "6", 
     userName: "LH", 
     firstName: "Leonie", 
     lasttName: "Henderson", 
     }, { 
     id: "7", 
     userName: "CharlesO", 
     firstName: "Charles", 
     lasttName: "O'Dwyer", 
     }, { 
     id: "2", 
     userName: "si2030", 
     firstName: "Simon", 
     lasttName: "O'Farrell", 
     }, { 
     id: "4", 
     userName: "blade44", 
     firstName: "Clyde", 
     lasttName: "Palmer", 
     }, { 
     id: "3", 
     userName: "tt2030", 
     firstName: "David", 
     lasttName: "Remmy", 
     }]; 

     $("#search").autocomplete({ 
     source: function(req, responseFn) { 
      addMessage("search on: '" + req.term + "'<br/>"); 
      var re = $.ui.autocomplete.escapeRegex(req.term); 
      var matcher = new RegExp("^" + re, "i"); 
      var a = $.grep(users, function(item, index) { 
      return matcher.test(item.lasttName); //Changed here 
      }); 
      a = $.map(a, function(x) { 
      return { 
       label: x.lasttName + ", " + x.firstName, //Changed here 
       value: x.id, 
       users: x 
      }; 
      }); 
      addMessage("Result: " + a.length + " items<br/>"); 
      responseFn(a); 
     }, 
     select: function(event, ui) { 
      location.href = "/UserAdmin/Edit/" + ui.item.id; 
     }, 
     change: function(event, ui) { 
      if (!ui.item) { 
      $("#search").val(""); 
      } 
     } 
     }); 

     function addMessage(msg) { 
     $('#msgs').append(msg); 
     }; 
}); 

チェックこのjsFiddle

+0

スーパー..として使用しています。あなたに投票し、正しい答えを出しました。 – si2030

関連する問題