2016-07-23 1 views
0
彼に

enter image description here次のコンテキストのデータピッカーをロードする方法​​</td>?

コードの上、私は日付ピッカーとしてIDが含まれている入力フィールドの日付ピッカーを追加したいと思います。私はonclickの入力フィールドには、何が私はこのコードを見逃している間、

$("tbody#docTab").click(function() { 
    var row = $(this).closest('tr'); 
    row.find('#datepicker').removeClass('hasDatepicker').datepicker();   
}); 

しかし、私は、日付ピッカーを表示されませんdocument.ready()FUNCでjsの次のコードを使用し、この目的のために

? 高度なありがとう。

+0

'closest'機能は、DOMツリーを要素をマッチングを探します。意図した 'tr'を返さない –

+0

次に、現在の行の#datepickerを選択してdatepickerをロードするにはどうしたらいいですか? – user3391137

+0

https://css-tricks.com/the-difference-between-id-and-class/を参照してください – Mottie

答えて

1

IDが重複しているここでは、HTML内の各要素に一意のIDを割り当てる - 代わりに、複数の入力ボックスに同じIDを割り当てるので - 私はあなたの日付ピッカーを追加したい人に、すべての入力にクラス"datepicker"を追加することをお勧め:

<td> 
    <input type="text" name="sdate[]" class="datepicker" value="0000-00-00" /> 
</td> 
<td> 
    <input type="text" name="edate[]" class="datepicker" value="0000-00-00" /> 
</td> 

とjQueryで:

$("tbody#docTab").click(function({ 
    $('.datepicker').removeClass('hasDatepicker').datepicker(); // you can directly add datepicker using its class name  
}); 
+0

Yah、それは仲間を働いています。次に、クラスと同じ重複IDを保持しないのはなぜですか? – user3391137

+0

@ user3391137私はidを使ってperticular要素にアクセスすることができないので、 –

0

あなたは、同じIDを持つ2要素を持つことはできません。 ご入力のためのクラスを使用してみてください

<input type="text" name="sdate[]" class="datepicker" value="0000-00-00"> 

JS更新:

$("tbody#docTab").click(function() { 
    var row = $(this).closest('tr'); 
    row.find('.datepicker').removeClass('hasDatepicker').datepicker();   
}); 
+0

に重複したIDが存在すると、重複のIDをクラスと同じように保たないのはなぜですか? – user3391137

+0

javascriptを使用するときにバグが表示されないようにするには、IDを一意にする必要があります。 HTML 5仕様は同じことを言いますが、言い換えれば言います。それはIDがそのホームサブツリー内で一意でなければならないと言います。これは基本的には[それの定義。](https://html.spec.whatwg.org/multipage/infrastructure.html#home-subtree) – HuyTran

関連する問題