2011-11-12 32 views
8

Tôi đang sử dụng một trình ghi ngày tháng jquery trong một dự án của tôi và tôi cần kích hoạt datepicker bằng cách nhấp vào một siêu liên kết bên cạnh vùng nhập của tôi.Jpery datepicker - kích hoạt thủ công

Rất tiếc, tôi không thể làm việc này vì một số lý do.

Tôi có vùng nhập và liên kết tôi muốn kích hoạt lịch trong vùng nhập.

<input type="text" id="date" /><a href="#" class="trigger">Show calendar</a> 

Tôi đã cố gắng để tìm ra một mã Javascript như:

$(".trigger").click(function(){ 
$("#date").datepicker("show"); 
}); 

Khi ai đó trong một trong những cuộc thảo luận trước đó đề nghị sử dụng một phương pháp để làm cho HIỂN THỊ lịch pop-up. Nhưng nó không hoạt động.

Mã như

$(function() { 
$("#date").datepicker(); 
}); 

hoạt động tốt, nhưng chỉ bằng cách nhấn vào một khu vực đầu vào (không phải trên kích hoạt siêu liên kết).

Có ai có ý tưởng hoặc đề xuất cách làm việc này không? Trở nên xa như tôi biết tôi không phải là người duy nhất theo đuổi giải pháp.

Cảm ơn bạn rất nhiều! ;)

+0

xem tại đây - trả lời tốt nhất câu hỏi http://stackoverflow.com/questions/2198741/jquery-ui-datepicker-making-a-link-trigger-datepicker –

Trả lời

15

Chức năng của bạn là click() trong chức năng jQuery(document).ready()?

jQuery sẽ đệ quy đệ quy trình xử lý sự kiện nhấp chuột cho mỗi lớp mà bạn đã xác định khi tải trang.

Nếu không, nó sẽ không làm bất cứ điều gì nếu nó ngồi bên ngoài tài liệu chức năng sẵn sàng, như vậy:

$(function() { 
    $("#date").datepicker(); 
    $(".trigger").click(function(){ 
     $("#date").datepicker("show"); 
    }); 
}); 

cũng tôi sẽ giả sử bạn có jQuery nạp và plugin datepicker nạp vào đầu của HTML tài liệu :)

+0

Có, xin lỗi tôi đã lấy phần đó để được cấp vì vậy nó không được đưa vào ví dụ của tôi. Kịch bản JS bắt đầu bằng $ (tài liệu) .ready (function() {..... Nhưng vẫn không hoạt động: ( – Ondrej

+0

Ah vừa thử giải pháp được điều chỉnh của bạn và nó hoạt động như một sự quyến rũ! Cảm ơn bạn rất nhiều!) – Ondrej

1

tôi sử dụng này:

$(".ui-datepicker-current-day").trigger("click");

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