2013-03-02 12 views
12

DOM:適切な使用法

<input type="hidden" class="bigdrop select2-offscreen" id="postcodes" style="width:600px" name="familyAdvertisement.postcodes" value="4797,4798" tabindex="-1"> 

私が持っている問題は、一度フォームが(エラーにあるいくつかの他のコントロールのイベントに例えば)再表示されていることで、選択(すなわち2つの郵便番号、特にtext)D hidden inputは2つの値を持っていますが、フォームには表示されません。 4797および4798、これらは郵便番号のidです)。

フォームが再表示されたときや、より良い方法があるときに別のAjax往復をしなければならないかどうかはわかりません。

誰でも助言できますか?

答えて

25

initSelection方法はselect2

例に存在しなければならない値を通過しなければならない:

$("#postcodes").select2({ 
    placeholder : "Search for a postcode", 
    multiple : true, 
    minimumInputLength : 1, 
    data:[], 
    initSelection : function (element, callback) { 
     var data = [{id:1,text:'bug'},{id:2,text:'duplicate'}]; 
     callback(data); 
    } 
}).select2('val', ['1', '2']); 

デモ:返信用Fiddle

+2

ありがとう。うーん...私が持っている問題は、一旦フォームが提出されて再表示されると(例えば、別のフィールドが間違っているため)、私は 'text'変数を失いました(それはまだサーバー側にあります.. )。私のポイントが見えますか? – balteo

+0

複数のfalseがfalseに設定されている場合、これはなぜ機能しませんか?もちろん、1つのデータオブジェクトしか使用しません。 – HGPB

+1

最後にもう一度値を入力する必要がありますか? – Sebastialonso