无法在预先键入选择后更改输入值
Unable to change input value after typeahead selection
我在同一页面中的两个输入中实现了typeahead。其中一个工作完美,但另一个有着意想不到的行为。
我只能使用TypeAhead一次,一旦我选择了一个建议,输入字段就会填充正确的值,但我现在无法更改它的值。我来解释一下:
输入上的每个键事件都会引发一个js错误:-Uncaught TypeError:undefined不是函数typeahead。js:944
return (str || "").replace(/^'s*/g, "").replace(/'s{2,}/g, " ");
然后,一旦输入失去焦点,修改后的值就会恢复为预先输入的选定值。
希望这是我代码的相关部分:
<input type="text" class="form-control text-center number" id="document" name="document" >
<script>
var invoices = new Bloodhound({
remote : "invoice/listInvoices?action=typeahead&q=%QUERY",
limit : 15,
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer : Bloodhound.tokenizers.whitespace("invoice")
});
invoices.initialize();
var invoiceTemplate = Handlebars.compile("<p>{{invoice}} - {{cusName}} - ${{value}}</p>");
$(document).ready(function() {
$("#document").typeahead({
minLength : 3,
hint : false,
highlight : true
},{
items : 15,
displayKey : "invoice",
source : invoices.ttAdapter(),
templates : {
empty : ["No Matches Found!"].join("'n"),
suggestion : invoiceTemplate
}
});
$("#document").bind("typeahead:selected", function(e, datum, name) {
$.ajax(
{
url : "invoice/listinvoices.jsp?document=" + datum.invoice,
success : function(data, textStatus, jqHXR)
{
$("#list").html(data);
}
});
});
</script>
我发现了问题。displayKey恰好是Invoice类中的一个int字段。它不起作用。更改为字符串,所有问题都消失了!
相关文章:
- HTML使用选择表单更改输入选择(可能使用JQuery?)
- jquery:输入选择器未选择:选择元素
- 使用文件输入选择多个 FIle 时删除单个文件
- 在 AngularJS 中选择输入选择不同的子 JSON 元素
- 带有 Li 的 jquery 输入选择器
- 检查表行的所有输入/选择字段是否都有值
- jQuery 输入选择 - 将中继器内的总计相加
- jQuery 手风琴如何获得输入选择按钮的活动标题.
- 输入-选择下拉菜单在firefox中不起作用
- Angular-基于单选输入选择在ng重复中切换元素类
- 将ID添加到按钮,但必须根据单选输入选择进行更改
- IE9看不到“;文件”;在文件输入选择框中
- 如何在不保存的情况下维护在Web表单上输入/选择的数据
- jQuery过滤器通过文本输入选择选项
- Javascript名称数组输入选择器(name[sometext])
- 我需要做些什么才能让它显示所有的用户输入/选择
- AngularJS输入选择ng模型中的整数值停止工作
- Ruby on rails-使用AJAX更新输入-选择选项
- 在动态生成的HTML中使用CSS布局标签/输入/选择元素的问题
- 动态抓取输入/选择值而不直接瞄准- Javascript