Jquery数据操作

时间:2013-03-26 09:57:09

标签: jquery ajax json magicsuggest

我有一个场景
Ajax正在正确地处理数据,然后可以自动提供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/看到

在文档TAB中有&#34; getValue() : array[int / string]&#34;。

等待你的回复。

2 个答案:

答案 0 :(得分: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();

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

答案 1 :(得分: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()将获得所选id的数组,getSelectedItems()将获得所选数组与您的数据对应的json对象。

根据您的需要,您可以检索任何内容,然后将其与您的请求一起发送。

这是一个使用selectionchange事件显示所选名称的jsfiddle:

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

干杯!