2012-04-23 74 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> 
相關問題