PHP*_*ver 16 javascript jquery jquery-autocomplete
实际上我正在尝试将自动完成功能实现到一个文本字段,但得到上述错误,无法理解为什么我收到此错误.你能帮我解决这个错误吗?供您参考我将在下面提供所有必要的代码:
报告-学生result.tpl
<link rel="stylesheet" type="text/css" href="{$control_css_url}ui-lightness/jquery-ui-1.10.3.custom.css">
<link rel="stylesheet" type="text/css" href="{$control_css_url}autocomplete.css">
<label>Name</label>
<div class="form-element" id="friends">
<input type="text" class="" name="user_name" id="user_name" value="{$user_name}" />
</div>
<script language="javascript" type="text/javascript">
$(function(){
var class_id = $('#class_id').val();
var section_id = $('#section_id').val();
//attach autocomplete
$("#user_name").autocomplete({
//define callback to format results
source: function(req, add){
//pass request to server
$.getJSON("report_student_result.php?callback=?op=get_student_names&class_id="+class_id+"§ion_id="+section_id, req, function(data) {
//create array for response objects
var suggestions = [];
//process response
$.each(data, function(i, val){
suggestions.push(val.name);
});
//pass array to callback
add(suggestions);
});
},
//define select handler
select: function(e, ui) {
//create formatted friend
var friend = ui.item.value,
span = $("<span>").text(friend),
a = $("<a>").addClass("remove").attr({
href: "javascript:",
title: "Remove " + friend
}).text("x").appendTo(span);
//add friend to friend div
span.insertBefore("#user_name");
},
//define select handler
change: function() {
//prevent 'to' field being updated and correct position
$("#user_name").val("").css("top", 2);
}
});
//add click handler to friends div
$("#friends").click(function(){
//focus 'to' field
$("#user_name").focus();
});
//add live handler for clicks on remove links
$(".remove", document.getElementById("friends")).live("click", function(){
//remove current friend
$(this).parent().remove();
//correct 'to' field position
if($("#friends span").length === 0) {
$("#user_name").css("top", 0);
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
请帮我解决这个错误.提前致谢.
Jam*_*ber 27
live() 自版本1.9以来已被删除,并从1.7开始被弃用:
你on()现在想要几天
$('#friends').on("click", ".remove", document.getElementById("friends"), function(){
Run Code Online (Sandbox Code Playgroud)
其中,#friends可在DOM准备就绪.您无法绑定on()动态加载的元素.
您可以使用.on()而不是.live()(在Jquery 1.7之后弃用)
$(document).on('event', 'selector', function() {});替换.live().
例如:
$( document ).on( "click", "#elementId ", function(){ alert( "Do here what you want!" ); // jQuery1.7+ });
Run Code Online (Sandbox Code Playgroud)