8

Tôi có một kịch bản datepicker jQuery:jQuery datepicker cho nhiều đầu vào

  $(function() { 
       $("#datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
      }); 

Khi tôi muốn khởi tạo kịch bản này cho hai đầu vào, nó hoạt động chỉ dành cho người đầu tiên. Làm thế nào để sử dụng nó cho cả hai đầu vào?

<input type="text" name="MyDate1" id="datepicker"> 
<input type="text" name="MyDate2" id="datepicker"> 
+0

có một lớp học cho tất cả các đầu vào cần có một datepicker – Dhiraj

+0

$ ('. your-class'). datepicker ({dateFormat: "yyyy-mm-dd"}); – Dhiraj

+0

ở nơi đầu tiên, bạn không thể có nhiều hơn một id – Joseph

Trả lời

18

Chỉ cần thay đổi tất cả id thành class.

<input type="text" name="MyDate1" class="datepicker"> 
<input type="text" name="MyDate2" class="datepicker"> 

$(function() { 
    $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 

cũng có thể sử dụng

$(function() { 
    $("input[name^=MyDate]").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 
+0

Tôi đọc qua một số chủ đề về điều này gợi ý những cách siêu phức tạp để đạt được điều này - bạn đã mất khoảng 0,5 giây và làm việc như một say mê. Cảm ơn! –

+1

'dateFormat:" yyyy-mm-dd "' sẽ hiển thị: 'YYYYYYYY-MM-DD' xóa' yy' thừa để hiển thị định dạng đúng. Cập nhật thành: 'dateFormat:" yy-mm-dd "' – Staccato

3

Nó không phải là hợp lệ để có ID nhân đôi. Bạn nên thêm một lớp thay vì:

<input type="text" name="MyDate1" class="datepicker" id="datepicker1"> 
<input type="text" name="MyDate2" class="datepicker" id="datepicker2"> 

Sau đó, bạn có thể làm:

 $(function() { 
      $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
     }); 
5

Mệt mỏi vì lặp đi lặp lại điều này, nhưng vẫn còn, đang lặp lại nó một lần nữa. id s phải là duy nhất. Vì vậy, sử dụng này:

<input type="text" name="MyDate1" class="datepicker"> 
<input type="text" name="MyDate2" class="datepicker"> 

với

$(function() { 
    $(".datepicker").datepicker({ dateFormat: "yyyy-mm-dd" }); 
}); 
2

Tiếp cận datepicker chức năng theo Tên:

$(function() { 
     $('[name="MyDate1"]').datepicker({ dateFormat: "yyyy-mm-dd" }); 
     }); 
0

Bạn cũng có thể thêm các lớp học một cách nhanh chóng nếu các lĩnh vực đầu vào được tạo động, chẳng hạn như trong các mẫu Django.

<input type="text" name="MyDate1" id="datepicker1"> 
<input type="text" name="MyDate2" id="datepicker2"> 

Nhận lĩnh vực đầu vào sử dụng #ID và thêm một lớp

$(function() { 
    $("#datepicker1, #datepicker2").addClass('datepicker'); 
    $(".datepicker").datepicker({ dateFormat: "yy-mm-dd" }); 
}); 
-1
<script> 
    $(document).ready(function() { 
    $("#datepicker").datepicker(); 
    }); 
    $(document).ready(function() { 
    $("#datepicker2").datepicker(); 
    }); 
    $(document).ready(function() { 
    $("#datepicker3").datepicker(); 
    }); 
    </script> 

Và chỉ cần cung cấp các hình thức của id: datepicker datepicker2 datepicker3

+0

Không cần nhiều chức năng * sẵn sàng *. – kursus

Các vấn đề liên quan