使用MagicSuggest将vars发送到服务器

我使用这个伟大的jquery插件来处理文本框上的自动完成,我使用这个脚本工作了一切:

var ms1; $(document).ready(function() { ms1 = $('#ms1').magicSuggest({ data: 'http://punctis.com/app_dev.php/ajax/autocompletefeed/1/city', sortOrder: 'name', minChars: 2, maxResults: false, allowFreeEntries: false, selectionPosition: 'right', groupBy: 'utenti', maxDropHeight: 200 }); }); 

这个Html:

 

但是当我发布或获取表单时,没有任何值被发送,只有test_normalValue。 有没有人遇到这个问题?

PS:根据这个post,这个function从1.1.2开始就存在(即时使用1.2.3)

您需要为配置添加名称属性:

  var ms1; $(document).ready(function() { ms1 = $('#ms1').magicSuggest({ data: 'http://punctis.com/app_dev.php/ajax/autocompletefeed/1/city', sortOrder: 'name', minChars: 2, maxResults: false, name: 'ms1', allowFreeEntries: false, selectionPosition: 'right', groupBy: 'utenti', maxDropHeight: 200 }); }); 

你应该检索$ _POST [‘ms1’]中的值,它实际上是一个城市ID数组。

[编辑]如果您需要城市名称而不是城市ID,您可以在配置属性中指定valueField并将其设置为“name”,如下所示:

  var ms1; $(document).ready(function() { ms1 = $('#ms1').magicSuggest({ data: 'http://punctis.com/app_dev.php/ajax/autocompletefeed/1/city', sortOrder: 'name', valueField: 'name', minChars: 2, maxResults: false, name: 'ms1', allowFreeEntries: false, selectionPosition: 'right', groupBy: 'utenti', maxDropHeight: 200 }); }); 

这样,组件将使用名称作为ID而不是ID本身。

如果由于某种原因需要ID和名称,则可以使用beforeload事件设置其他自定义POST参数。