我正在尝试在用户点击自动填充条目后填充隐藏字段的值。
我试过的代码看起来像这样:
<input type=hidden id="myHiddenField" value="">
<script type="text/javascript">
function selectItem(li) {
return false;
}
function formatItem(row) {
return row[0] + "<br><i>" + row[1] + "</i>";
}
$(document).ready(function () {
$("#myInputField").autocomplete("../test.asp", {
minChars: 3,
matchSubset: 10,
matchContains: 1,
cacheLength: 10,
onItemSelect: selectItem,
formatItem: formatItem,
selectOnly: 1,
select: function (event, ui) {
$("#myHiddenField").val(ui.item.value)
}
});
});
</script>
自动完成工作正常,但我无法设置隐藏字段的值。我也尝试将它设置为普通字符串,如$("#myHiddenField").val("test")
,但这也不起作用。
任何想法如何填充它?
这是我正在使用的自动填充功能:pastebin-link
这里有一个JSFiddle,虽然效果不正常。
自动完成源:Github-link。 (注意:在这种情况下,我必须使用此自动完成脚本,我无法使用较新的脚本。)
答案 0 :(得分:1)
我有这样的解决方案;
function selectItem(li) {
return false;
}
function formatItem(row) {
return row[0] + "<br><i>" + row[1] + "</i>";
}
$(document).ready(function () {
var programmingLanguages = [
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$(".autocomplete").autocomplete({
source: programmingLanguages ,
minChars: 3,
matchSubset: 10,
matchContains: 1,
cacheLength: 10,
onItemSelect: selectItem,
formatItem: formatItem,
selectOnly: 1,
select: function (event, ui) {
$("#hfieldvisible").val(ui.item.value)
}
});
});
我已将source
param添加到自动填充功能中。我还在HTML中添加了一个项目
<input type="text" id="hfieldvisible" value="">
为了向您显示它正在将所选项目添加到该输入中。
以下是工作示例:http://jsfiddle.net/6S46E/
已更新(JSON远程):您可以在此处使用json远程版http://jsfiddle.net/u5beu/1/