2016-05-19 17 views
1

jquery ui datepickerを使用して、次のコードスニペットの助けを借りて誰かが入力をクリックしたときにdatepickerを表示しています。jQuery ui datepickerの幅をカスタマイズする

コード:

$('#datepicker').datepicker(); 

JSFIDDLE

私はこれを持っている問題は、カレンダーが前の入力の全幅として来るべきではないということです。

私はインターネットを検索し、いくつかのコードスニペットを使用しましたが、何も機能しませんでした。

私のアプローチ:

$('#datepicker').datepicker({ 
    beforeShow: function(input, inst) 
    { 
     inst.dpDiv.css({ width: input.width + 'px'}); 
    } 
}); 

はフィドルでは、入力の幅は500pxなどとして固定されているので、日付ピッカー幅も500pxなど幅広いする必要があります。そしてdatepickerの幅は、この入力のどの幅にも適応する必要があります。

+1

問題のコードスニペットを投稿できますか? – Jai

+1

これをチェックしてくださいhttp://stackoverflow.com/questions/1865091/jquery-datepicker-language、http://stackoverflow.com/questions/5332445/datepicker-jquery-ui-set-language –

+0

ありがとう@RanjeetSingh。それは私が言語を変えるのを助けました。 –

答えて

1

あなたは以下のCSSを使用したカレンダーのサイズを調整することができます

$('#datepicker').datepicker();
#datepicker, 
 
.ui-datepicker, 
 
.ui-datepicker-header, 
 
.ui-datepicker-calendar { 
 
    width: 500px; 
 
} 
 
.ui-datepicker-calendar { 
 
    background: dodgerblue; 
 
} 
 
.ui-datepicker-header { 
 
    text-align: center; 
 
    color: #fff; 
 
    background: #000; 
 
} 
 
.ui-datepicker-prev { 
 
    float: left; 
 
} 
 
.ui-datepicker-next { 
 
    float: right; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script> 
 
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 
<input type="text" id="datepicker">

+1

しかしそれはdatepickerの幅を固定にします。その代わりに、幅を入力の幅に適応させるjqueryスクリプトを用意したいと思います。 –

+0

@KiranKumarDash入力の幅はどのように変更されますか?同じ変更をdatepickerに適用することもできます。なぜそうではありませんか? jQuery UIの上にプラグインを作成しているのでなければ(*そうではないかもしれませんが)、それは問題ではありません。フードの後ろには、スクリプトによって設定されたインライン幅を防止/クリアする何かがあります。 –

+0

入力の幅は実際に私の場合のパーセンテージで言及されています。だから、私はまず、入力の幅を取得し、その幅をdatepickerに割り当てるためのスクリプトを作成しようとしています。 –

0

日付ピッカーショーの機能は残念ながら幅パラメータ、「beforeShow」コールバックでも、1セットをリセットします。これを修正するために、setTimeout()によってJSコールスタックに表示した後に移動することができます。

$('#datepicker').datepicker({ 
    beforeShow: function (input, inst) { 
     setTimeout(function(){ 
      inst.dpDiv.outerWidth($(input).outerWidth()); 
     },0); 
    }, 
}) 
+0

コードのみの回答は将来の読者のために多くの情報を提供しないので推奨されていません。 – WhatsThePoint

関連する問題