2016-10-05 10 views
-3

親要素をクリックしたときに非表示の入力フィールドをトリガーする方法。非表示フィールドを使用すると機能しません。ここで は私のhtmlコードです:非表示の入力フィールドに注目することはできますか?

<table> 
<th colspan="2">Date</th> 
<td id="dateContainer" > currentData </td> 
<td><input id="thedate" type="hidden" /></td> 
<table> 

jqueryのコード:

$(function(){ 
$(this).click(function() { 
$(this).children().children().find('.datepicker-input').focus(); 
}); 
}); 
+1

非表示フィールドは、DOMにレンダリングされません。あなたはそれらを集中することはできません。通常のテキスト入力をCSSで隠すようにスタイルを設定し、それを表示してフォーカスを合わせるようにすることができます –

+0

CSS visibalityを使ってのみ行うのですか? –

+0

なぜフォーカスを隠す入力が必要なのですか? – Sojtin

答えて

1

まあ、私はあなたが達成したいまさにあなたのクエリを理解すると思います。

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>

これはあなたを助けることを望ん:)

+1

コメントのために今働いてくれてありがとう –

+0

あなたはようこそ... –

関連する問題