我基本上有两个活动。顶部的选择从jQuery自动完成并将其输出到div搜索结果数据。第二个从#*search_input*获取内容并将其输出到搜索结果数据。
var devices = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#search_input").autocomplete({
source: devices,
select: function(e, i) {
var search_input = i.item.value;
document.getElementById('searchresultdata').innerHTML = search_input;
}
});
//Append div with contents from function sendSelected
$("#search_input").on("keyup change", function() {
var search_input = $(this).val();
if (search_input.length > 1 || search_input == '*') {
document.getElementById('searchresultdata').innerHTML = "Everything";
}
document.getElementById('searchresultdata').innerHTML = search_input;
});有关实际示例,请参阅:http://jsfiddle.net/k2SMb/4/
不管怎样,我可以把它组合成一个,使它更加整洁吗?
发布于 2012-10-05 13:45:55
通过将这两个事件链接在一起,可以使其更加整洁,然后可以使用jQuery的$('#id_selector'),最后,当您只需要它一次时,就不用写变量了。结果:
$("#search_input").autocomplete({
source: devices,
select: function(e, i) {
$('#searchresultdata').text(i.item.value);
}
}).on("keyup change", function() {
var search_input = $(this).val();
if (search_input.length > 1 || search_input == '*') {
$('#searchresultdata').text("Everything")
}
$('#searchresultdata').text(search_input);
});https://stackoverflow.com/questions/12747465
复制相似问题