繁体   English   中英

Twitter提前隐藏字段

[英]Twitter typeahead hidden field

我正在使用Twitter提前向搜索页面上的用户推荐书籍列表。 一切都按预期工作,但是我现在想向隐藏字段添加另一个值。

我正在看的大多数教程似乎都是过时的。

我的html格式如下;

<form id="search" action="<?php echo URL; ?>books/itemView?id=" method="post">
<input type="text" name="search" class="typeahead" id="demo"/>
<input type="text" name="isbn" type="hidden" class="typeahead" id="isbn"/>
<input type="submit" value="Submit" style="">
</form>

我可以从json文件中检索建议列表。 我也可以单击其中之一并选择它。 这会将id放在我的输入字段中。 我还想将isbn放在隐藏字段中,这怎么可能。

我的JS在下面;

$(document).ready(function() {
var url = 'http://localhost/logintest/'; 

var books = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.obj.whitespace('title'),
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  limit: 3,
  prefetch: {
    url: url+'books.json',
    ttl: 0, 
    filter: function(list) {
      return $.map(list, function(book) {                         
        return { 
        id: book.id,
        title: book.title,
        author: book.author,
        isbn: book.isbn
        }; 
        });
    }
  }
});

books.initialize();

$('.demo .typeahead').typeahead(null, {
  displayKey: 'id', // displays the id in search bar once selection made
  engine: Handlebars,
  templates: {
    header: '<h1>Name</h1>',
    empty: [
      '<div class="empty-message">',
      'no results found',
      '</div>'
    ].join('\n'),
    suggestion: Handlebars.compile(
       <strong>{{title}}</strong>
  },
  engine: Handlebars,
  source: books.ttAdapter() 
});
});

OK原来这就是答案,请在typeahead函数下面添加

$('input.query').on('typeahead:selected', function (e, datum) {   
console.log(datum['empID']); 
});

将empID更改为您希望记录的任何内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM