0

私はここで jquery プラグイン「Two Sided Multi Select」を使用しています: http://www.stevefenton.co.uk/cmsfiles/assets/File/twosidedmultiselect.html

次のコードで通常の Rails ヘルパーを使用して、通常の複数選択ボックスを正常に表示します。

<%= f.select(:expertise1, Tag.all.collect {|tag| [ tag.value, tag.value ] }, {}, {multiple: true, class: "multiselect"}) %>

アセットの javascripts フォルダーに jquery.twosidedmultiselector.js ファイルがあり、ページ ソースに表示されます。Jquery は、どこでも使用できるようにロードする必要があり (Rails 3.2.8)、ソースに表示されます。(1.8.2)

ただし、これをjavascriptに追加すると( $(document).ready(function() 内):

    $(".multiselect").twosidedmultiselect();

javascript コンソールにこのエラーが表示されますが、その意味と修正方法がまったくわかりません。

Uncaught TypeError: Object [object Object] has no method 'twosidedmultiselect'

ヘルプ!!どうもありがとう。

4

1 に答える 1

-1

JavaScript をDOM Ready ハンドラーに入れると、問題が解決するはずです

$(function() {
     // This is the only line you need for the plugin
     $(".multiselect").twosidedmultiselect();

    // The below script is for information / example...

    // How to get the current selected items (note, they won't always have 
    // a "selected" attribute, but they will be in the box with the original ID:

    var selectedOptions = $("#yourselect")[0].options;

});

要素が完全にロードされる前にプラグインを使用しているようです.DOMハンドラー内にコードを書くと、問題が解決するはずです

于 2012-10-31T21:24:42.137 に答える