jquery自动完成额外的空格

时间:2011-01-17 15:43:59

标签: javascript jquery jsp

我在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

提前致谢

2 个答案:

答案 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提供给自动完成的源。