我在jsp文件中得到了这个循环
<% for (int i = 0; i < length; i++)
{
for( int j = 0; j < width; j++)
{
element = MAP_LIST[j][i];
if (element.equals("A"))
{} else if (j == width-1 && i == length-1){
%>
<%=element%><%}
else
{
%>
<%=element%>,<%}
}
}
%>
使用jquery从我的自动填充文本字段的oracle数据库中获取csv列表
function Mapsheets(type,nomos)
{
$(function() {
var f_data;
$.get('/gaec_web/MapSheets.jsp',{'datasrc-select':datasource, 'type_1': type, 'nomos': nomos}, function(data){
f_data = data.split(',');
$( "#fx_no" ).autocomplete({
source: f_data,
minLength: 2
});
});
});
}
一切都像魅力一样,我输入前两个字符,自动完成弹出显示每个事情,因为它应该和当我尝试选择一个值时,我得到的值在尾部有几(5)个额外的空格。然后当它被提交时失败,因为它与所讨论的mapname不匹配。结果看起来像这样
" 320-197"
那是什么导致了这个?如果我单独运行jsp页面也会获得正常结果,例如
372-146, 376-146, 372-149, 368-149, 376-149, 380-149, 380-152, 376-152, 372-152, 368-152, 368-155, 376-155, 372-155, 380-155, 368-158, 380-158, 376-158, 372-158
提前致谢
答案 0 :(得分:2)
我从未使用过jsp,但我想额外空格的原因是你在for循环中使用的缩进
{} else if (j == width-1 && i == length-1){
%>
#there are extra space<%=element%><%}
else
{
%>
<%=element%>,<%}
}
你应该以这种方式放置代码,也许这些空格会被忽略:
{} else if (j == width-1 && i == length-1){
%><%=element%><%}
else
{
%><%=element%>,<%}
}
答案 1 :(得分:0)
我也从未使用过JSP。但是你输出你的数组作为json编码是一个可行的选择吗? jQuery可以轻松解析作为json_encoded传递的数组。
我用Google搜索了json_encode等效的JSP,它给了我这个链接。 What is the JSP equivalent to json_encode ( in PHP )?
在你的javascript中,然后就像你以前一样使用$ .getJSON(url,[data],[callback])。 除了现在,回调函数的数据参数包含一个json解码的数组,ergo你以前的普通数组,但然后是javascript形式。
只需将数据var提供给自动完成的源。