Twitter Typeahead 显示不同的值

3
    //javascript
    var customer = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,

    prefetch: 'include/customer.json'
    });

    $('.typeahead').typeahead(null, {
    name: 'customer',
    display: 'name',
    source: customer
    });


    //json
    [
    {"identity":"1","name":"Uzumaki Naruto"},
    {"identity":"2","name":"Monkey D. Luffy"},
    {"identity":"3","name":"Ichigo Kurosaki"}
    ]

   //html
   <input class="typeahead" type="text" name="customer"/>

在 Typeahead 插件中是否可以搜索和显示 'name',当我提交表单时,它会给我 'identity' 的值?顺便提一下,我使用的是 0.11.1v 版本的 Typeahead。谢谢。
1个回答

1
为了实现您想要的内容,您需要使用两个输入字段。
// html
<input type="text" name="customer_typeahead" class="typeahead"/>
<input type="hidden" name="customer" id="customer_identity" />

// typeahead code
$('.typeahead').typeahead(null, {
  ....
}).bind('typeahead:select', function(ev, suggestion) {
  $('#company_identity').val(suggestion.identity);
});

这样做可以使得当你选择一个建议时,它会设置customer输入框的值。

2
两个字段不是我所希望的答案,但这是这个问题的第一个实际起作用的答案。 - Tim Morton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接