2012-04-23 16 views
0

datepickerを使用する複数の入力フィールドを持つフォームがあります。私はちょうどそれらのIDを作成し、これはうまくいったが、今は同じページに複数のフォームが表示されているインスタンスで使用する必要があります。jQuery Datepicker入力フィールドにIDを動的に追加する方法

"datepicker"のクラスを持つ任意の要素にIDを動的に追加し、これらの要素に対してdatepickerを動作させるjQuery関数を作成する方法はありますか?

何かのように:

$('.datepicker').append('ID','datepicker + (1)'); 
$("#datepicker + (1)").datepicker(); 

私は、これは実際には動作しません知っているが、私はそれが+(1)IDの番号をサフィックス、説明する最も簡単な方法だと思いました。

静的要素の私の現在のコードは、このように動作します。

$("#datepicker").datepicker(); 
$("#datepicker01").datepicker(); 
$("#datepicker02").datepicker(); 
$("#datepicker03").datepicker(); 
$("#datepicker04").datepicker(); 
$("#datepicker05").datepicker(); 
$("#datepicker06").datepicker(); 

助けてくれてありがとう、歓声:)

+0

'$( '。datepicker')の何が問題なのですか? –

+0

こんにちはそれは正常に動作しますが、それは私が自分でIDを入れた静的なページです。私は、スクリプトが "datepicker"のクラスを持つすべての要素を見つけてユニークなIDを追加し、datepicker関数をそれらの要素で動作させるページのために必要とします。 –

+0

さん、 '$( '。datepicker')'はすでに 'datepicker'クラスですべての要素を選択しています。 –

答えて

4

あなたはちょうどこれを一度にすべてをバインドすることができ、すべてのIDを必要としませんなぜそれらのほとんどが次のように見えるのですか?

return this.each(function() { ... }); 

の中にはどうしてですか?あなたには、いくつかの他の目的のためにIDを必要に応じて

その後、あなただけのこの操作を行うことができます:

$('.datepicker').each(function(i) { 
    this.id = 'datepicker' + i; 
}).datepicker(); 

デモ(IDを確認するために、あなたのDOMインスペクタを使用する):http://jsfiddle.net/ambiguous/6zfEY/

2
$(function(){ 
    $('.datepicker').each(function(i){ 
     $(this).attr('id', $(this).attr('class')+parseInt(i+1)); 
    }); 

    // You can call like 
    $("#datepicker1").datepicker(); 
    $("#datepicker2").datepicker(); 
    $("#datepicker3").datepicker(); 
}); 

が、私はあなたがとにかく、idを追加する必要はありませんだと思います。

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

デモ:http://jsfiddle.net/ambiguous/ua4bc/

ほとんどのプラグインは、一度に複数の要素と結合することができるが、それはだ

+0

トップ部分は素晴らしいようですが、この部分を生成する方法はあります:$( "#datepicker1")。datepicker();上記のように?助けてくれてありがとう –

+0

哀れみ、理解できなかった。 –

+0

申し訳ありませんが、IDを必要としないことについては、私の最後のコメントを無視して正しいと思っていると思った –

0

こんにちは私は、これは使用して結合しようとしました春のMVC 3.0と... それは素晴らしい作品!私は、スクリプト

<script type="text/javascript"> 
    $(function(){ 
    $(".datepicker").datepicker({ dateFormat:"dd/mm/yy" }); 
    }); 
</script> 

を持っているし、その後、私の場合には、JSPやJSTLと協力して、私はdinamically作成された私の要素にJQueryPickerを結合することができた、とここにあなたが見るならば、コードの一部でありますなぜなら私はもっと多くのことに取り組んでいるからですが、その考えは同じです:

<c:when test="${fieldVar.type == 'DATE'}"> 
    <td><form:input path="fieldWrapperElements[${status.index}].dateValue"class="datepicker"/></td> 
</c:when> 
関連する問題