2016-07-12 9 views
0

複数の動的要素にmagicsuggestを追加するにはどうすればいいですか? 誰も以前に行ったことがありますか?動的要素にmagicsuggestを追加

「カンマ」とタイプするたびに「入力」を押すたびに、2つの入力と1つのmagicsuggestを持つパネルが作成されます。だから私は、入力場合:

1 towel, 2 plates 

それはmagicsuggestで2つの入力それぞれに2枚のパネルを作成する必要があります。

上記の状況は既に完了していますが、問題は、すべての入力をmagicsuggestで読み込むと、常に最初の入力に注目することです。私は他のものを選択することができますが、常に最初のものに集中します。

私はこのコードを試しましたが、役に立たないです。

var ms = {}; 
for(var i = 1; i <= 2; i++){   

    ms[i] = $('#text_area_request_'+i).magicSuggest({ 
     id: "request_id_" + i, 
     name: "request_id[" + i + "]", 
     allowFreeEntries: false,    
     width: 350, 
     maxSelection: 1,  
     data: ["Wifi", "Steak", "Food", "Water"],   
    }); 

} 

おかげであなたはデータのキー(「水」]、)の最後にカンマを忘れてしまったすべての

答えて

0

まず。

あなたはそれを削除し、まだ..あなたは次のことを試すことができます動作しない場合..

パラメータとして、あなたと移入したい入力のIDを取る関数attachMagicSuggest(「text_area_request_0」)を作成します。データ。

新しいパネルを作成するたびに(またはそれらを呼び出すとき)、この機能も実行します。

function attachMagicSuggest(inputId){ 

    var ms1 = $('#'+inputId).magicSuggest({ 
    placeholder: 'Select a cuisine', 
    allowFreeEntries: false,    
    width: 350, 
    maxSelection: 1,  
    data: ["Wifi", "Steak", "Food", "Water"] 
    }); 

} 
0

フォーカスの意味は完全にはわかりませんが、毎回同じオブジェクトを参照している可能性があります。ループのたびに別のオブジェクトで作業していることを確認してください。 magicSuggestの戻り値は、別のjQueryオブジェクトに直接追加することはできませんので、私はこれと同様の機能を使用する必要がありました:

$('#the-form').append(buildMagicSuggest(
    inputId, 
    ["Wifi", "Steak", "Food", "Water"], 
    "Wifi" 
)); 

:次に、あなたはこのように、この機能を使用することができます

function buildMagicSuggest(id, options, setValue) { 
    var $input = $('<input>', {id: id, class: 'form-control'}); 
    var data = []; 
    for (var i = 0; i < options.length; i++) { 
     if (options[i] === null) { 
      continue; 
     } 
     var name = options[i] === '' ? '&nbsp;' : options[i]; 
     data.push({id: options[i], name: name}); 
    } 
    var magic = $input.magicSuggest({ 
     placeholder: '', 
     allowFreeEntries: true, 
     selectPositions: 'bottom', 
     selectionStacked: false, 
     maxDropHeight: 145, 
     maxSelection: 1 
    }); 
    magic.setData(data); 
    setValue && magic.setValue([setValue]); 
    return magic.container; 
} 

をキーは、コントロール(コンテナ)全体を含むmagicSuggestオブジェクトの正しいプロパティを見つけることでした。

関連する問題