【问题标题】:JQuery AutoComplete results format?JQuery自动完成结果格式?
【发布时间】:2010-10-06 11:47:13
【问题描述】:

我有一个由空格分隔的值字符串,我返回给 Jquery 调用,但它没有将单词分隔成行。数据应该以字符串还是列表或其他形式返回?

【问题讨论】:

    标签: jquery asp.net-mvc autocomplete


    【解决方案1】:

    如果您使用位于here 的插件,那么我认为您会以 JSON 格式返回结果。这是how to do it with ASP.Net MVV。

    【讨论】:

      【解决方案2】:

      默认情况下,它希望结果用换行符分隔。如果您提供由空格分隔的值列表,您将需要提供一个解析函数,该函数将获取返回的数据并将其转换为数组。如果您改为提供值列表,情况也是如此。

      这是我正在处理的一个项目的示例,它通过 JSON 从 MVC 操作返回字符串列表。

      $('#eventName').autocomplete( '<%= Url.Action("SearchEvent", "Donor" ) %>', {
          dataType: "json",
          formatItem: function(data,i,max,value,term){
             return value;
          },
          parse: function(data){
              var array = new Array();
              for(var i=0;i<data.length;i++)
              {
                  array[array.length] = { data: data[i], value: data[i], result: data[i] };
              }
              return array;
         }
      });
      

      【讨论】:

      • 是的,“解析”覆盖是要走的路。 jQuery 确实需要更好的自动完成文档(截至本评论,它仍“计划与 jQuery 1.7 一起发布”)。但是,如果您要记录现有代码,则应该记录所有代码。使用解析覆盖的唯一问题是现在自动完成器的所有函数都将传递新的 Array()。所以,你必须考虑到这一点。 tvanfosson 展示了您如何使用 formatItem 覆盖来说明显示格式。但还要注意,您可能需要覆盖 result() 方法。
      【解决方案3】:

      还有另一个自动完成插件希望用“|”分隔字符串像这样的角色:

      项目 1 |项目 2 |

      您可能想查看您正在使用的文档!

      【讨论】:

        猜你喜欢
        • 2011-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-04
        • 1970-01-01
        • 2023-03-18
        • 2011-09-08
        • 1970-01-01
        相关资源
        最近更新 更多