2010-11-04 29 views
6

Tôi đang sử dụng nhiều chủ đề ui trong một trang. Tôi tạo chủ đề tùy chỉnh với phạm vi css, cho phép nói #scope. Tôi sử dụng trường datepicker trong phạm vi cho phép nói #scope input#datepicker. trường datepicker không nhận được các kiểu css từ chủ đề ui. Tôi đoán điều này là bởi vì nó được tạo động bên ngoài #scope, làm cách nào tôi có thể thay đổi điều này và cách làm cho nó có được phong cách từ phạm vi.jquery datepicker trong phạm vi css

Trả lời

4

Tôi đã giải quyết vấn đề này bằng cách thêm div trình bao bọc trong mã.

$(document).ready(function(){ 
    $("#ui-datepicker-div").wrap('<div class="ui-layout-center" />'); 
}); 
+0

Chỉ cần làm rõ "ui-layout-center" là lớp css tùy chỉnh của bạn, đúng không? Cá nhân tôi cố gắng tránh sử dụng cùng tiền tố ui- như được sử dụng trong phần còn lại của jQuery UI để tránh các xung đột tên có thể xảy ra trong các phiên bản sau. –

0

Tôi nhớ có cùng sự cố, hãy kiểm tra kiểu được xác định nói chung chẳng hạn như span, nó có thể chồng chéo với kiểu ui.

2

@bkilinc, bạn là chính xác. Lịch datepicker được thêm vào document.body, bên ngoài phạm vi tùy chỉnh của bạn.

http://bugs.jqueryui.com/ticket/4591 http://bugs.jqueryui.com/ticket/4306

Trong một cấu trúc như sau, lịch nằm ngoài phạm vi của container.

<style type="text/css"> 
    .calendarContainer .ui-datepicker { 
     /* rule intended to affect only .calendarContainer */ 
    } 
</style> 
... 
<body> 
    <div class="calendarContainer"><input name="date"/></div> 
    <div class="ui-datepicker"> (generated calendar)</div> 
</body>