まあ、私はあなたが達成したいまさにあなたのクエリを理解すると思います。
datepicker
を表示したい場合は、表示されているコンテナなし。 はとは思えません。なぜなら、datePickerをロードするたびに、left, positioning
のようなCSSプロパティが必要となるからです。 datepickerコンテナが隠れていると例外がスローされます。
これを達成する別の方法は以下のとおりです。空のhtml要素を作成し、日付ピッカーを追加します。
ここに作業コードがあります。それに応じてHTML構造を変更してください。
JSFiddle:http://jsfiddle.net/vikash2402/8w8v9/2030/
$('#showDateContainer').click(function(){
$("#showDateItem").show && $("#showDateItem").show();
$('#showDateItem').datepicker({
dateFormat: 'dd-mm-yy',
onSelect: function(dateText) {
\t \t $('#dateContainer').text(dateText);
console.log(dateText);
$("#showDateItem").hide();
}
});
});
<link href="http://code.jquery.com/ui/1.8.21/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
<div id="showDateContainer" type="button" >Click here to Shown Date</div>
<div id="showDateItem"> </div>
<br />
<br />
<div id="dateContainer" type="button" > currentData </div>
これはあなたを助けることを望ん:)
非表示フィールドは、DOMにレンダリングされません。あなたはそれらを集中することはできません。通常のテキスト入力をCSSで隠すようにスタイルを設定し、それを表示してフォーカスを合わせるようにすることができます –
CSS visibalityを使ってのみ行うのですか? –
なぜフォーカスを隠す入力が必要なのですか? – Sojtin