2016-07-22 123 views
0

通过Twitter typeahead获得一些奇怪的行为。它正确地获取数据并在输入3个字符后显示缩览列表,但不会自动填充该字段,也不会突出显示/选择该项目。我做错了什么?twitter-typeahead未自动完成或选择

screenshot

我有以下的javascript(毕竟相关的jQuery和预输入的东西):网页

<form> 
    <div class="form-group"> 
     <label>Customer</label> 
     <input id="customer" type="text" value="" class="form-control" /> 
    </div> 
    <div class="form-group"> 
     <label>Movie</label> 
     <input id="movie" type="text" value="" class="form-control" /> 
    </div> 
    <button class="btn btn-primary">Submit</button> 
</form> 

而且CSS的

$(function() 
{ 

    var customers = new Bloodhound({ 
     datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'), 
     queryTokenizer: Bloodhound.tokenizers.whitespace, 
     remote: { 
      url: '/api/customers?query=%QUERY', 
      wildcard: '%QUERY' 
     } 
    }); 

    $('#customer').typeahead 
    (
     { 
      minLength: 3, 
      highlight: true 
     }, 
     { 
      name: 'customers', 
      display: 'name', 
      source: customers 
     } 
    ); 


}); 

相关部分:

.typeahead { 
    background-color: #fff; 
} 

.typeahead:focus { 
    border: 2px solid #0097cf; 
} 

.tt-query { 
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 
      box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); 
} 

.tt-hint { 
    color: #999 
} 

.tt-menu { 
    width: 422px; 
    margin: 12px 0; 
    padding: 8px 0; 
    background-color: #fff; 
    border: 1px solid #ccc; 
    border: 1px solid rgba(0, 0, 0, 0.2); 
    -webkit-border-radius: 8px; 
    -moz-border-radius: 8px; 
      border-radius: 8px; 
    -webkit-box-shadow: 0 5px 10px rgba(0,0,0,.2); 
    -moz-box-shadow: 0 5px 10px rgba(0,0,0,.2); 
      box-shadow: 0 5px 10px rgba(0,0,0,.2); 
} 

.tt-suggestion { 
    padding: 3px 20px; 
    font-size: 18px; 
    line-height: 24px; 
} 

.tt-suggestion:hover { 
    cursor: pointer; 
    color: #fff; 
    background-color: #0097cf; 
} 

.tt-suggestion.tt-cursor { 
    color: #fff; 
    background-color: #0097cf; 

} 

.tt-suggestion p { 
    margin: 0; 
} 

它似乎得到呈现出如:

<input id="customer" type="text" value="" class="form-control tt-input" autocomplete="off" spellcheck="false" dir="auto" style="position: relative; vertical-align: top; background-color: transparent;"> 

这是有趣的,因为它说

autocomplete="off" 

但改变并不能帮助......

回答

0

事实证明,我的控制器返回IHttpActionResult而不是我期待的IEnumerable<Customer>。我不知道如果这是问题,但现在,我已经修复,它的工作原理..