2017-06-29 8 views
0

使用http://crlcu.github.io/multiselect/ '&'から '選択'にプログラムで「リセット」できません。さて、これは初めてのことですが、その後は失敗します。JQuery MultiSelectプログラムによる選択

これのためのフィドルはhttps://jsfiddle.net/24690u7c/です。 &を問題なく移動することができます。初めて「リセット」ボタンを押すとすべてが機能します。それ以降のリセットは失敗します。リセット機能は、以下を行います。

  • 移動右

に左に右

  • 移動選択した項目にする必要があります左
  • 選択項目にすべての項目...問題は選択ステップにあるようです:「選択された」属性が設定されているのが見えますが、アイテムはプラグインに選択されていないと見なされます。

    ここで私が何が欠けているか教えていただけますか?

    $("#resetDefaults").on("click", function(event) { 
        $('#multiselect_leftAll').trigger('click');   // all to the left 
        $("#multiselect option").each(function() { 
        if ($(this).val() == "A" || $(this).val() == "B") { 
         $(this).attr('selected', true);     // select what should be on the right 
        }             // ... this is I think the issue :-(
        }); 
        $('#multiselect_rightSelected').trigger('click'); // move the selected right 
    }); 
    
  • 答えて

    0

    OKは、このいじりの後、私は仕事にこれを取得するために行うことができます最も簡単な事はしている:

    A)私は右の選択に超える「リセット」したい各項目にclass='defaultColumn'を追加

    B)は、以下に上記のスニペットを変更します。

    $("#resetDefaults").on("click", function(event) { 
        $('#multiselect_leftAll').trigger('click');     // all to the left 
        var MS = $("#multiselect").data('crlcu.multiselect');  // grab the current Multiselect instance 
        var $options = $("#multiselect").children('.defaultColumn'); // grab all options of interest 
        MS.moveFromAtoB(MS.$left, MS.$right, $options);    // call the internal function to move the selected options over 
    }); 
    

    を...私はこれが最も簡単です推測しています。天に感謝します。私はこれと同じくらいきれいだったlibをchiseします:-)

    関連する問題