0

JQuery タイム ピッカーを使用しています。時間を選択すると、時間を表示するドップダウン ウィンドウを閉じる必要がありますが、閉じません。

<h:inputText id="selectTime" value="00:00" />

$('#selectTime').pickatime({
    format: 'HH:i',
    disable: [
        [0, 0]
    ]
})
$('#selectTime').on('change', function() {
    $(this).hide();
})

上記の変更イベントの場合、入力テキストは非表示になりますが、タイム ピッカー ドロップダウンは表示されません。これを使用しているので、テキストボックスが非表示になります。しかし、時間が選択された後にタイムピッカーを閉じる正しい方法は何ですか?

4

2 に答える 2

0

入力要素が label 要素内にある可能性があります。コンテナーを使用して、ピッカー ルート要素のイベントをラベル イベントに分離する必要があります。

サンプル ID「root-picker-outlet」で空の div を作成します。

<div id="root-picker-outlet"></div>

ピッカーを初期化します。

$('.timepicker').pickatime({
  container: '#root-picker-outlet'
})
于 2016-08-04T16:40:19.670 に答える
0

私はjQueryカスタムコンボボックスで同じ種類の問題を抱えていましたが、次のように修正しました:

$('#selectTime').pickatime({
   format: 'HH:i',
   disable: [ [0, 0] ]
})

$('#selectTime').on('change', function() {
   $(".ui-menu").css('display', 'none');
   //hide the menu according to your dropdown locator in css
})

一方、キーボード入力のメソッドを追加して、メニューを非表示にする必要があります。

$('#selectTime').keypress(function(event) {
   if (event.which == 13) {
     $(".ui-menu").css('display', 'none');
     //hide the menu according to your dropdown locator in css
   }
})
于 2016-08-04T16:44:44.777 に答える