2013-03-26 39 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