8

これは些細な問題かもしれませんが、誰かがこれについて何かアイデアを持っているかどうかを知りたいです:

JQuery UI を使用しています。フィールドが<input id="#myfield" type="text">あり、 を呼び出します$('#myfield').datepicker()。フィールドがフォーカスされるたびに日付ピッカーが表示されます。しかし、フィールドはフォームの最初のフィールドであり、ロード時にすでにフォーカスされているため、フィールドをクリックしても表示されません。また、Esc キーを使用して日付ピッカーを閉じると、同じ理由で、フィールドをクリックしても再度開くことができません。既にフォーカスされています。

パラメータを設定できることは承知しています.datepicker({showOn: 'button'})が、ボタンは必要ありません。フィールドがフォーカスされたとき、またはすでにフォーカスされているときにクリックされたときに日付ピッカーを表示する方法はありますか? すでに試してみ$('#myfield').click( function () { $(this).focus() } )ましたが、入力フィールドをクリックすると日付ピッカーが正しく開きますが、日付を選択するとフィールドに表示されません。

4

4 に答える 4

19

これを試して

<html>
<head>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jquery-ui-1.8.17.custom.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('#date1').datepicker();

$('#date1').focus(function(){
    $('#date1').datepicker('show');
});

$('#date1').click(function(){
    $('#date1').datepicker('show');
});
//$('#ui-datepicker-div').show();
$('#date1').datepicker('show');
});
</script>
</head>
<body>
<input type="text" name="date1" id='date1'>
</body>
</html>
于 2012-05-23T10:49:21.673 に答える
2

この問題はあなたの質問には答えませんが、日付ピッカーボタンがないという問題が日付ピッカーボタンがあることに関連している場合、回避策になる可能性があります...それが理にかなっていますか?

ユーザーがフォーム/ページをタブで移動するため、ボタンを表示したくないという問題があり、ボタンにフォーカスを設定したくありませんでした。(奇妙な UI エクスペリエンス)

それがあなたのケースでもある場合...次のことを行うことで、いつでもそのフォーカスを取り除くことができます..(また、現在抱えている問題を間接的に解決します.)

$('#field').datepicker({
      showOn: 'button',
      buttonImage: "/image_path/image.png",
 }).next('img.ui-datepicker-trigger').attr('tabIndex', "-1");
于 2012-05-23T10:48:12.300 に答える
1

同様のシナリオがありました。ページの最初のフィールドは、ボタンなしで閉じてロードし、ユーザーがクリックしたときにのみ開く必要があります。しかし、それは閉じた「検索バー」コンポーネントにあったため、デフォルトの動作を変更することはできませんでした. これが私の回避策です:

$(document).ready(function () {
        //getting the controls on the form context
        var calendarios = $('.calendarBox', "#frmOccurrencesHistory");
        //set an invalid option - avoid open on focus and show the buttons
        calendarios.datepicker("option", "showOn", "click");
        //handle click button
        calendarios.each(function () {
            $(this).click(function () {
                $(this).datepicker('show');
            });
        });
    });

きれいじゃない、完璧じゃない、ページが読み込まれるときにカレンダーが点滅するけど、それが私がどこまで来たかです

于 2015-08-19T13:14:55.397 に答える
0
 $("#datepicker").datepicker({
   dateFormat:'dd/M/yy',
   minDate: 'now',
   changeMonth:true,
   changeYear:true,
   showOn: "focus",
   //buttonImage: "YourImage",
   buttonImageOnly: true, 
   yearRange: "-100:+0",  
}); 

  $( "datepicker" ).datepicker( "option", "disabled", true );
于 2017-10-23T09:25:42.603 に答える