2009-05-25 10 views
3

あなたは複数選択に 私は本当にコードなどを行うには、Ctrlキーをする必要があるが、私は、私はコードをしたい、CTRLキー を押すように私の訪問者を強制したくない jqueryのUIからthis demoを見ますctrlキーを押さずに複数の選択ができるようにするjQueryのUI複数選択

これは可能ですか?

+0

描画ボックス機能が必要ですか?そうでない場合は、おそらく自分自身をロールすることができ、私は誰かがコードを助けることができます。 – jfar

答えて

5

私はコメントに質問をしましたが、私が思っていたことを見ることができるように、単純な選択ソリューションを書くだけです。

したがって、基本的にjqueryのトグル()エフェクトを使用して独自のセレクタを回転させることができます。ユーザーがオレンジ色のクラスをクリックすると、再びクリックするとオレンジ色のクラスが削除されます。

$(document).ready(function() { 
    $('ul#selectable li').toggle(function() { 
     $(this).addClass('orange'); }, function() { 
     $(this).removeClass('orange'); }); 
}); 

その後、すべてのあなたの仕事は、オレンジ色のクラスを持つすべてのli要素を取得し、フォームまたは任意のあなたの最終目標があるにそれらを投稿することです。このコードはチェックしていませんが、クラス属性の末尾にオレンジ色の値を持つ選択可能なすべてのli要素を要求しています。

以下のコードでは、新しい配列を作成し、各 "orange li"のtext()値を追加します。

var theSelections = new Array(); 

$('ul#selectable li[class$="orange"]').each(function(i) { 
    theSelections[i] = $(this).text(); 
}); 
+0

ありがとう、これは私が話しているものです:) – ahmed

-1

はい。ただし、実装では、選択した項目を2回目にクリックして選択解除する必要があります。これを達成するには、コードをわずかに変更するだけです。

すべての項目で.selectable( 'Enable')を実行します。

次に、すべてのアイテムで.selectable( 'toggle')onClickを実行する必要があります。

これはすべきことです。

+0

docから:選択可能な機能の状態を切り替えます。このメソッドは、現在の状態に基づいて選択を有効または無効にします。私がこの権利を読んでいれば、あなたのソリューションは基本的に.selectableのすべての機能を無効にします。 – jfar

関連する問題