2017-10-27 14 views
0

私は順序付きリストを持つテーブルを持っています。順序付きリストには、選択可能なタイムスタンプが含まれています。 1つのテーブルエントリ "td"は1日です。 (私はウェブカレンダーをプログラミングしています)。Jquery selectable:1つのクラス/タイプに対して複数選択を許可する

<td class="day"><div class="scroll"> 

     <ol class="timelist"> 

      <li id="2017-10-27_14:41" class="ui-selectee">14:41</li> 
      <li id="2017-10-27_15:28" class="ui-selectee">15:28</li> 
      <li id="2017-10-27_16:00" class="ui-selectee">16:00</li> 
      <li id="2017-10-27_08:00" class="ui-selectee">08:00</li> 
      <li id="2017-10-27_09:00" class="ui-selectee">09:00</li> 
      <li id="2017-10-27_12:01" class="ui-selectee">12:01</li> 

     </ol> 

</div> 
</td> 

これは私が持っているjQueryのコードです:私はすでに1つのタイムスタンプを選択し、それは、第2いずれかを選択し、別のをクリックした場合、今

<script type= "application/javascript"> 

     $(document).ready(function(){ 

     $(".timelist").on("mousedown", function (e) { 
     e.metaKey = true; 
     }).selectable(); 

     }); 

</script> 

。それはまさに私が望むもので、それは魅力のように機能します。

さらに、私は日を選択したいと思います。しかし、すでに1つのタイムスタンプを選択して1日をクリックした場合、私のプログラムはタイムスタンプの選択を取り消し、クリックされた日を選択します。 1日が選択され、別の日をクリックすると、この日もマークされます(2日間の選択など)。しかし、すでに1日以上を選択していて、タイムスタンプをクリックした場合、プログラムは日の選択をキャンセルします。

私が言いたいのは、「同じタイプ/ HTMLクラスの要素でマルチセレクションを有効にする」ことです。

どうすればよいですか?

+0

'.bind()'の代わりに['.on()'](http://api.jquery.com/on/)を使用すると、あなたが尋ねているようにサブセレクタを追加できます。異なるグループを持つのではなく、選択可能なすべての要素に同じ機能をバインドしていることを確認してください。 – SubjectDelta

+0

私のファイルで変更しました。ありがとう。しかし、私に例を教えてもらえますか?どのように私のプログラムにさらに選択を促すのですか? – Kazuya91

答えて

0

"ui-selectee"の代わりに "ui-widget-content"クラスを使用します。

+0

私はそれを自分で使いませんでした。私のHTMLファイルは自動的にクラス「ui-selectee」を追加しました。私はselectable()関数のためだと思う。あなたはもう少し具体的で、私と例を与えることができますか? – Kazuya91

+0

Nick Craverのhttp://jsfiddle.net/nick_craver/ZfevM/7/をご覧ください。 – tiborK

関連する問題