2012-05-01 8 views
1

を見つけることがjQueryのは、私は私のプロジェクトでフォームコントロールを使用してい深くネストされた入力要素

hereを記載されています。しかし、フォーム内のいくつかの入力要素にjQuery datepickerを適用しようとしています。私は入力をどのように選択するかわかりません。

divの中のSuperFormを直接入れ子にしたので、私はこれを出発点として使うことができると知っていますが、正しい入力が見つかるまでそのdivの子孫をすべて調べる必要があります。私はそれらが現れる順番を知っているので、どこかでここでn番目の子供(x)を使うことができると仮定しますが、今まで私は運がありませんでした。どんな助けでも大歓迎です!

SOLVED!ここに私の解決策があります:

$("#bookings :input[type='text']:eq(2)").datepicker({...}); 
+1

私たちは生成されるhtmlの例ですか? – peroija

+0

入力要素にクラスまたはIDを適用してみませんか? –

+0

入力要素が動的に生成されています。クライアント側のIDを適用できません。 –

答えて

1

SOLVED!ここに私のソリューションです:

$("#bookings :input[type='text']:eq(2)").datepicker({...}); 
0

希望の要素にクラス、属性、またはIDを適用するか、すべての要素をこの方法で適用します。

$('#bookings input').each(function() { 
    //Check here 

}); 
+0

私が影響を与える必要がある入力は、フォーム内の2番目と3番目の入力であることがわかります。 "予約" div内にネストされたすべての入力要素を単純に戻し、2番目と3番目の要素を選択する方法はありますか? –

+0

$( '#予約入力:nth-​​child(2)、#bookings入力:nth-​​child(3)')を試してみませんか?すべての3番目と2番目の入力にネストされたものも与えます –

0

入力要素をフィルタリングするには、明らかに識別子/セレクタが必要です。

$('#bookings').find('.applyDatePicker').datepicker({...}); 
0

HTML5でサポートされている新しい入力タイプを使用してください。

新しい入力タイプは次のとおりです。

  • カラー
  • 日時
  • 日時、ローカル
  • メール
  • 範囲
  • 検索
  • TEL
  • 時間
  • URL

日付(または日時)にそれらを設定する場合は、使用するすべての要素を選択することができます。

$('input[type="date"]').each(function(index,element){ 
    $(element).datepicker... 
} 
+0

これは、私が使用しているフォームコントロールによって入力が動的に作成されていることに気づいたように便利ではありません。入力タイプのタイプが割り当てられます。また、問題は、私の解決策が元の投稿に示されているように解決されます。 –

0

簡単なセレクタを使用していますが、メインセレクターが複雑になっている場合は、おそらくあなたは、メインセレクター内部の入力セレクタを使用することができなかった、だから、それがために

.find(" :input[type='text']") 

を使用することをお勧めします右のあなたソート可能なシナリオの例このようなメインセレクター場合:

:あなたは以下のようにコーディング場合

$("#ulId").children('li:not(.ui-sortable-placeholder)') 

は、あなたが任意の要素を持っていない可能性が

$("#ulId").children('li:not(.ui-sortable-placeholder) :input[type='text']') 

が、我々はこれを使用することができます。

$("#ulId").children('li:not(.ui-sortable-placeholder)').find(" :input[type='text']") 

・ホープこのヘルプを。

関連する問題