0

我有一个包含多个使用 datepicker 的输入字段的表单。我刚刚为它们创建了 ID,这工作正常,但现在我需要在同一页面上显示多个表单的实例中使用它。

有没有办法创建一个 jQuery 函数,该函数将动态添加一个 ID 到任何具有“datepicker”类的元素,并使 datepicker 在这些元素上工作?

就像是:

$('.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 回答