我正在尝试优化下拉菜单选择栏,使用twitter的预先输入来预先输入自动填充功能。当我实现twitter的预先输入时,我无法保留用户选择的值或刷新页面后输入的值。此外,当我尝试提交我正在处理的表单时,似乎它从未被记录为值字段。
自动填充和建议的子串匹配器
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>
任何人都可以就如何解决这个问题给我任何建议吗?
答案 0 :(得分:0)
...当我尝试提交我正在处理的表单时,似乎它从未被记录为值字段。
您的input
元素缺少name
属性,is required表示提交表单时要发送的input
值。尝试使用此HTML:
<input id="project" name="project" class="typeahead" type="text" placeholder="Projects">
我不确定这是否也可以解决页面刷新时丢失值的问题,或者是否需要额外的解决方案。