Javascript 自动完成Jquery以错误格式显示数据
下面是我用来显示数据的自动完成jquery脚本。我在javascript中获取值,但在显示数据时没有正确地删除数据Javascript 自动完成Jquery以错误格式显示数据,javascript,jquery,autocomplete,jquery-ui-autocomplete,visualforce,Javascript,Jquery,Autocomplete,Jquery Ui Autocomplete,Visualforce,下面是我用来显示数据的自动完成jquery脚本。我在javascript中获取值,但在显示数据时没有正确地删除数据 Data need to display is 3 1st Ave NW 下面是我用来显示数据的自动完成jquery脚本。我在javascript中获取值,但在显示数据时没有正确地删除数据 Data need to display is 3 1st Ave NW 但显示为 [ { " n a m e " :" 3 1 s t A v e N W " } ] 脚本:
Data need to display is
3 1st Ave NW
下面是我用来显示数据的自动完成jquery脚本。我在javascript中获取值,但在显示数据时没有正确地删除数据
Data need to display is
3 1st Ave NW
但显示为
[
{
"
n
a
m
e
"
:"
3
1
s
t
A
v
e
N
W
"
}
]
脚本:
<script type="text/javascript">
var PLACEHOLDER = 'Enter Address Here';
var movieObjects;
var queryTerm;
$('[id$=addressTextBox]').autocomplete({
minLength: 2,
source: function(request, response) {
queryTerm = request.term;
code1WebServiceCallout1.getAddress(request.term, function(result, event){
if(event.type == 'exception') {
alert(event.message);
} else {
// alert(JSON.stringify(result[0]));
movieObjects = JSON.stringify(result);
//'{\"name\":\"31st Ave NW\"}';
response(movieObjects);
}
});
},
focus: function( event, ui ) {
$('[id$=addressTextBox]').val(ui.item.name);
return false;
},
select: function( event, ui ) {
$('[id$=addressTextBox]').val(ui.item.name);
//$('[id$=searchMovieId]').val( ui.item.Id );
return false;
},
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
var entry = "<a>" + item.label;
entry = entry + "</a>";
entry = entry.replace(queryTerm, "<b>" + queryTerm + "</b>");
return $( "<li></li>" )
.data( "item.autocomplete", item)
.append( entry )
.appendTo( ul );
};
// Add or remove placeholder values
$('[id$=addressTextBox]').val(PLACEHOLDER);
$('[id$=addressTextBox]').on("focus", function(event){
$tgt = $(event.target);
if($tgt.val() === PLACEHOLDER ){
$tgt.val('');
$tgt.removeClass('placeHolder');
}
});
$('[id$=addressTextBox]').on( "blur", function(event){
$tgt = $(event.target);
if($tgt.val() === '' ){
$tgt.val(PLACEHOLDER);
$tgt.addClass('placeHolder');
}
});
</script>
变量占位符='在此处输入地址';
var电影对象;
变量queryTerm;
$('[id$=addressTextBox]')。自动完成({
最小长度:2,
来源:功能(请求、响应){
queryTerm=request.term;
code1WebServiceCallout1.getAddress(request.term、函数(结果、事件){
如果(event.type=='exception'){
警报(事件消息);
}否则{
//警报(JSON.stringify(结果[0]);
movieObjects=JSON.stringify(结果);
//“{\'name\':\'31th Ave NW\'”;
回应(电影对象);
}
});
},
焦点:功能(事件、用户界面){
$('[id$=addressTextBox]').val(ui.item.name);
返回false;
},
选择:功能(事件、用户界面){
$('[id$=addressTextBox]').val(ui.item.name);
//$('[id$=searchMovieId]').val(ui.item.id);
返回false;
},
})
.数据(“自动完成”)。\u renderItem=功能(ul,项目){
var entry=“”+item.label;
条目=条目+“”;
entry=entry.replace(queryTerm,“+queryTerm+”);
返回$(“”)
.data(“item.autocomplete”,item)
.append(条目)
.附录(ul);
};
//添加或删除占位符值
$('[id$=addressTextBox]').val(占位符);
$('[id$=addressTextBox]')。在(“焦点”,函数(事件){
$tgt=$(event.target);
if($tgt.val()==占位符){
$tgt.val(“”);
$tgt.removeClass(‘占位符’);
}
});
$('[id$=addressTextBox]')。在(“模糊”,函数(事件){
$tgt=$(event.target);
如果($tgt.val()=''){
$tgt.val(占位符);
$tgt.addClass(“占位符”);
}
});
数据从何而来?在获取JSON时它是否已经乱码了?我正在通过一个rest api调用进行获取,这是我在控制器级别执行的。它会像:[name=3 1st Ave NW]一样返回到页面。那么,在哪一点上它会显示为乱码?您确定问题不在数据源中吗?调试时,我看到行:.data(“autocomplete”)。\u renderItem=function(ul,item){…问题从这里开始…我确定数据源中没有问题。。。