2017-10-04 17 views
1

素晴らしいjQueryプラグインを使用して複数の選択ボックスを編集可能に変換しようとしています:https://github.com/indrimuska/jquery-editable-selectjqueryプラグイン関数を複数のDOM要素にマッピングする

最初の手順は、すべての選択ボックスのIDを取得することです。私はヘルプBuild an array of ids of all select boxesを利用して、該当する選択ボックスIDのリストを取得することができました。

これで、jqueryプラグイン関数をIDの配列に 'マップ'する必要があります。使用するにはプラグインの基本的なコマンドは次のとおりです。

$('#editable-select').editableSelect(); 

私が試してみた:

var test = []; 

$("select").each(function() { 
    test.push($(this).attr('id')) 
}); 



$("select").each(function() { 
    test.push($(this).attr('id')) 
}); 

    test.each(function() { 
    $(this).editableSelect(); 
}); 

がどのように私は、プラグイン機能の適切な選択ボックスのDOM要素「マップ」できますか?

+0

test.eachは機能ではありません。 test.forEach()を使用できます。また、パラメータを使用して要素を取得することをお勧めします。 'test.forEach(function(el){el.editableSelect();});' なぜ同じコード '$(" select ")を2回持っているのですか? – rm4

+0

配列を再利用したくない場合は、 '$(" select ").editableSelect()が機能すると思います。このプラグインはわかりませんが、jqueryから関数を呼び出すと、 – rm4

+0

申し訳ありませんが、http://indrimuska.github.io/jquery-editable-select/に基づいて、IDを選択する必要があります。 – user61629

答えて

1
私は、これは動作するはずだと思う

...

$('select').each(function() { 
    $(this).editableSelect(); 
}); 

...しかし、プラグインを見た後、それは(総理にかなって)ちょうど1 jQueryオブジェクトを取得するには、セレクタを必要とせず、それはさらに簡単です...

$('select').editableSelect(); 

...両方のオプションが動作しますが、明らかに2番目の方法があります。ここでは、例とフィドル...

https://fiddle.jshell.net/1cuy7gsg/

を持っNOTE.each()だけのjQueryオブジェクトに適用することができますjQueryの関数です。そのため、あなたのtest JavaScript配列には適用できません(test.eachは動作しません)。

私はそれが役に立ちそうです

+0

申し訳ありませんでした。httpに基づいています。 ://indrimuska.github.io/jquery-editable-select/、idを選択する必要があるようです。 – user61629

+0

@ user61629はい、動作します... https://fiddle.jshell.net/1cuy7gsg/プラグインを見ると、 '.each()'は必要ありません(これも動作しますが、必要ありません)。私は答えを編集しました。 (ドキュメント).ready() 'functイオン?コンソールのエラーが表示されますか? –

+0

ありがとう、私はこれを見ていただきありがとうございます。私のユースケースはもう少し複雑です。私はより高度な質問を再投稿します。私は簡単な質問にそれを沸かそうとしていた。 – user61629

関連する問題