2013-03-26 62 views
1

我有一个场景
Ajax正在为数据正确工作,然后可用于jquery的自动建议插件,它选择并正确显示页面上选定的数据。我需要的唯一一件事就是让所有用户选择的值放在隐藏字段中,以便我可以继续提交。

IN HEAD:jquery数据操作

$('#mycustom').magicSuggest({ 
data: 'http://dev.ejuicysolutions.com/demo/umer/fb2/data.json', 
sortOrder: 'name', 
minChars: 2, 
maxResults: false, 
selectionPosition: 'right', 
maxDropHeight: 120, 
expandOnFocus: false, 
noSuggestionText: 'No Team Member found' 
}); 
}); 


IN BODY-> FORM:

<form method="post" action=""> 
<h3>Custom</h3> 
<input id="mycustom" style="width:400px;" type="text"/> 
<input type="hidden" name="values" value=""> 
</form> 



Sampel可以看出:http://dev.ejuicysolutions.com/demo/umer/fb2/
和文档可以在可以看出:http://nicolasbize.github.com/magicsuggest/

在文档选项卡中有“getValue() : array[int/string]”。

等待您的回复。

+0

要测试samle URL,请输入“New York,Los Agles etc” – Umer 2013-03-26 10:00:14

回答

1

因此,有两两件事:

  • 插件是形式就绪,这意味着,如果包括在一个形式中,所选择的值将自动与其它形式的物品一起提交。您可以使用'name'属性为它定义一个名称(查看文档)。然后,您将检索序列化的值,例如,如果您在后端使用PHP $ _POST ['given-name']。

因此,在您的情况下,因为您没有指定valueField,$ _POST ['given-name']将包含一个序列化的ID数组。

[编辑]:下面是一个例子:

$(document).ready(function() { 
     $('#mycustom').magicSuggest({ 
      data: 'http://dev.ejuicysolutions.com/demo/umer/fb2/data.json', 
      sortOrder: 'name', 
      minChars: 2, 
      maxResults: false, 
      selectionPosition: 'right', 
      maxDropHeight: 120, 
      expandOnFocus: false, 
      noSuggestionText: 'No Team Member found', 
      name: 'teammembers' // this is what you need to add 
     }); 
    }); 

进行选择,然后添加一个提交按钮(用于前圣何塞和圣安东尼奥马刺)。

然后在你的服务器端:

$teammembers = $_POST['teammembers']; // $teammembers = '[20,17]' 
  • ,如果你想在发送之前进行预处理或任何形式取回自己的价值观,你有2种方法:的getValue(),这将得到所选ids和getSelectedItems()的数组将获得与您的数据相对应的所选json对象的数组。

根据您的需要,您可以检索,然后将它们与您的请求一起发送。

下面是使用SelectionChange事件显示选定名称的的jsfiddle:

http://jsfiddle.net/KFMtQ/1/

干杯!

+0

我需要一个示例,我自己使用的扩展代码 – Umer 2013-03-26 11:32:16

+0

不,插件不是form-阅读...我包裹在表单标签和seabmitted我刚刚收到提交按钮值,没有别的。这就是为什么在这里问。 – Umer 2013-03-26 11:35:23

+0

它是形式准备好的。你只需要像我提到的那样添加一个名称属性。我更新了我的答案,给出了一个完整的例子。 – karlipoppins 2013-03-26 13:08:26

1

您可以使用插件给出的公共函数getSelectedItems()

var objMagicSuggest = $('#mycustom').magicSuggest({ 
      data: 'http://dev.ejuicysolutions.com/demo/umer/fb2/data.json', 
      sortOrder: 'name', 
      minChars: 2, 
      maxResults: false, 
      selectionPosition: 'right', 
      maxDropHeight: 120, 
    expandOnFocus: false, 
    noSuggestionText: 'No Team Member found' 

     }); 
var selectedElements = objMagicSuggest.getSelectedItems(); 

您将获得所选元素的数组。

+0

我需要一个示例,我自己使用的扩展代码 – Umer 2013-03-26 11:31:59