用户选择一个选项后,推特预先输入不保留价值
Twitter typeahead not preserving value after user selects an option
我正在尝试使用 Twitter 的 typeahead 优化下拉选择栏以进行 typeahead 自动完成。当我实现 twitter 的 typeahead 时,我无法保留用户选择的值或在刷新页面后键入它。此外,当我尝试提交我正在处理的表单时,它似乎从未被记录为值字段。
这是我的代码:
用于自动完成和建议的子字符串匹配器
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
jQuery(function ($){
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
});
};
};
提前输入
var Array = [];
jQuery(function ($) {
$(document).ready(function(){
$('#project').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'Projects',
source: substringMatcher(Array)
});
});
});
html
<c:forEach items="${Form.projectList}" var="val">
<script type="text/javascript">
var Projects = "${val.project}";
Array.push(Projects);
</script>
</c:forEach>
<div id="the-basics">
<input id = "project" class="typeahead" type="text" placeholder="Projects">
</div>
任何人都可以给我一些关于如何解决这个问题的建议吗?
… when I try to submit the form I am working on, it seems like it's never recorded as a value field.
您的 input
元素缺少 name
属性,该属性 is required 用于在提交表单时发送 input
的值。尝试使用这个 HTML:
<input id="project" name="project" class="typeahead" type="text" placeholder="Projects">
我不确定这是否也能解决页面刷新时值丢失的问题,或者是否需要其他解决方案。
我正在尝试使用 Twitter 的 typeahead 优化下拉选择栏以进行 typeahead 自动完成。当我实现 twitter 的 typeahead 时,我无法保留用户选择的值或在刷新页面后键入它。此外,当我尝试提交我正在处理的表单时,它似乎从未被记录为值字段。
这是我的代码:
用于自动完成和建议的子字符串匹配器
var substringMatcher = function(strs) {
return function findMatches(q, cb) {
var matches, substringRegex;
matches = [];
substrRegex = new RegExp(q, 'i');
jQuery(function ($){
$.each(strs, function(i, str) {
if (substrRegex.test(str)) {
matches.push(str);
}
});
cb(matches);
});
};
};
提前输入
var Array = [];
jQuery(function ($) {
$(document).ready(function(){
$('#project').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'Projects',
source: substringMatcher(Array)
});
});
});
html
<c:forEach items="${Form.projectList}" var="val">
<script type="text/javascript">
var Projects = "${val.project}";
Array.push(Projects);
</script>
</c:forEach>
<div id="the-basics">
<input id = "project" class="typeahead" type="text" placeholder="Projects">
</div>
任何人都可以给我一些关于如何解决这个问题的建议吗?
… when I try to submit the form I am working on, it seems like it's never recorded as a value field.
您的 input
元素缺少 name
属性,该属性 is required 用于在提交表单时发送 input
的值。尝试使用这个 HTML:
<input id="project" name="project" class="typeahead" type="text" placeholder="Projects">
我不确定这是否也能解决页面刷新时值丢失的问题,或者是否需要其他解决方案。