2012-04-23 75 views
0

我有使用日期选择多个输入字段的形式。我刚刚为他们创建了ID,而且这种方式运行良好,但现在我需要在具有多个表单显示在同一页面上的实例中使用它。jQuery的日期选择器如何动态地添加的ID输入字段

有什么办法来创建一个jQuery函数,将动态与类“日期选择器”的ID添加到任何元素,并就论文元素日期选择器的工作?

喜欢的东西:

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

我知道这不会实际工作,但我认为这是解释最简单的方式,+(1)后缀一个数字来标识。

我对静态元素当前的代码是这样工作的。

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

感谢您的帮助,欢呼:)

+0

'$('。datepicker')。datepicker()'? – 2012-04-23 02:17:36

+0

嗨,工作正常,但这是一个静态页面,我已经把自己的ID。我需要它的页面中的脚本会发现一个类“日期选择器”中的所有元素,然后添加一个唯一的ID,并就这些元素的日期选择器功能的工作。 – 2012-04-23 02:21:55

+0

嗯,'$( '日期选择器')'已经选择与'datepicker'类的所有元素。 – 2012-04-23 02:23:32

回答

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/

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,反正。

+0

顶部看起来不错,但有没有办法产生这个部分:$(“#datepicker1”)。datepicker();像你在上面做的那样?感谢您的帮助,欢呼声 – 2012-04-23 02:30:26

+0

SORRY,DID NOT UNDERSTAND。 – 2012-04-23 03:00:32

+0

对不起,您所说的不需要ID是正确的,所以无视我最后的评论认为 – 2012-04-23 03:19:45

0

你好,我试图用这个绑定Spring MVC 3.0和... 它的作品,很好!我有脚本

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

,然后在我的情况下,JSP和JSTL我能一个JQueryPicker结至dinamically创建的,在这里我要素的工作是一段代码,如果你看到一个因为我正在做更多的事情,但想法是一样的:

<c:when test="${fieldVar.type == 'DATE'}"> 
    <td><form:input path="fieldWrapperElements[${status.index}].dateValue"class="datepicker"/></td> 
</c:when> 
相关问题