1

Ajaxがデータに対して正しく機能しているシナリオ
があります。これは、選択したデータをページ上で正しく選択して表示するjqueryのプラグインをオートコンプリートするために使用できます。送信できるように、ユーザーが選択した値を1つずつ取得して非表示フィールドに入力する必要があるのは、この1つだけです。

頭の中で:

$('#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'
});
});


本体->形式:

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



サンペルはhttp://dev.ejuicysolutions.com/demo/umer/fb2/
で見ることができ、ドキュメントは次の場所で見ることができます:http: //nicolasbize.github.com/magicsuggest/

ドキュメントTABには" getValue() : array[int / string]"があります。

反応を待っています。

4

2 に答える 2

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();

選択した要素の配列を取得します。

于 2013-03-26T10:21:58.273 に答える
1

したがって、2つのことがあります。

  • プラグインはフォームに対応しています。つまり、フォームに含まれている場合、選択した値は他のフォームアイテムと一緒に自動的に送信されます。'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つのメソッドがあります。選択したIDの配列を取得するgetValue()と、対応する選択したjsonオブジェクトの配列を取得するgetSelectedItems()です。あなたのデータに。

必要なものに応じて、どちらかを取得して、リクエストとともに送信できます。

これは、selectionchangeイベントを使用して選択された名前を表示するjsfiddleです。

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

乾杯!

于 2013-03-26T10:48:39.470 に答える