0

日付ピッカーを使用する複数の入力フィールドを持つフォームがあります。それらの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();

助けてくれてありがとう、乾杯:)

4

3 に答える 3

4

ID はまったく必要ありません。これで一度にすべてバインドできます。

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

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

ほとんどのプラグインは一度に複数の要素にバインドできます。そのため、ほとんどすべてのプラグインは次のようになります。

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

中身。

他の目的で ID が必要な場合は、次のようにします。

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

デモ (DOM インスペクターを使用して ID を確認してください): http://jsfiddle.net/ambiguous/6zfEY/

于 2012-04-23T03:04:52.937 に答える
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とにかく、追加する必要はないと思います。

于 2012-04-23T02:25:57.147 に答える
0

こんにちは、Spring MVC 3.0 を使用してこのバインディングを試してみましたが、うまくいきました。私はスクリプトを持っています

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

そして、私の場合、JSP と JSTL を使用して、動的に作成された要素に JQueryPicker をバインドすることができました。これがコードの一部です。アイデアは同じです:

<c:when test="${fieldVar.type == 'DATE'}">
  <td><form:input path="fieldWrapperElements[${status.index}].dateValue"class="datepicker"/></td>
</c:when>
于 2012-08-14T18:06:16.447 に答える