2010-04-19 34 views
6

Tôi đã được yêu cầu phát triển một hệ thống trong đó nhân viên có thể đánh dấu trên biểu mẫu của họ vào một ngày nhất định trong tuần - ví dụ: nhân viên có thể tự đánh dấu là có sẵn trong một thời gian nhất định cho tuần, và không có sẵn vào một thời gian khác. Có vẻ một chút như thế này:Triển khai lập kế hoạch đa trạng thái

http://img697.imageshack.us/img697/842/mvcb.jpg

Hiện nay các công trình này bằng cách làm cho hộp kiểm bên trong bảng, chọn lên các sự kiện nhấp chuột trong mỗi tế bào và đánh dấu vào hộp kiểm và do đó các tế bào một cách thích hợp. Tôi đang sử dụng JQuery "nhấp vào n kéo hộp kiểm" plugin từ here. Tuy nhiên, tôi đã được thông báo rằng có thể có nhiều hơn hai trạng thái cho một ô cụ thể (ví dụ sẵn có, không khả dụng, có sẵn trong một trường hợp cụ thể), trong trường hợp này, ràng buộc với một hộp kiểm được kiểm tra giá trị sẽ không có nhiều Cứu giúp.

Tôi chưa bao giờ sử dụng javascript hoặc asp.net trước đây và không chắc chắn là cách tốt nhất để tiếp cận vấn đề này. Lý tưởng nhất là tôi có thể dính vào một cấu trúc dữ liệu phía sau mỗi ô mà tôi có thể cập nhật tới một trạng thái nhất định và sau đó lấy màu ô của tôi bằng cách liên kết với điều này - tuy nhiên tôi đang bị mất làm cách tốt nhất để đạt được điều này.

+1

tốt để xem vấn đề minh họa rõ ràng – harryovers

+4

là hình dạng màu vàng ở giữa là một con khủng long? –

+1

lol, bên phải là một con vịt – harryovers

Trả lời

3

Thêm sự kiện nhấp vào ô - ví dụ: bấm vào ô. Mỗi lần nhấp có thể thay đổi trạng thái của ô. Trạng thái này sau đó có thể được lưu trữ thông qua ajax hoặc sử dụng nút gửi như trên biểu mẫu. Mỗi ô có thể liên quan đến một trường biểu mẫu ẩn là nơi bạn có thể giữ trạng thái.

+0

Tôi sẽ cho phép người dùng nhấp chuột trái để thay đổi tính khả dụng (có hoặc không) và nhấp chuột phải bằng menu ngữ cảnh đặt tiêu chí cụ thể. Hầu hết mọi người sẽ chỉ có/không. Tôi cũng chắc chắn sẽ sử dụng ajax để cập nhật cơ sở dữ liệu đằng sau hậu trường. Hầu hết các chương trình lịch sẽ thực hiện các thay đổi ngay lập tức khi chúng được nhập và bạn có thể gặp vấn đề với chúng "quên" để nhấn nút gửi. Bất kỳ nút "gửi" nào cũng chỉ có nghĩa là "Ok, tôi xong rồi, đưa tôi đến một nơi khác ngay bây giờ". – Sparafusile

+0

Sẽ theo đuổi tuyến đường này - có vẻ hợp lý, nhưng tôi không chắc chắn nếu nó có thể. Tôi đã được nói rõ ràng rằng một trình đơn ngữ cảnh để thiết lập các tiêu chí không muốn - đó cũng là ý tưởng ban đầu của tôi. Tuy nhiên, việc cập nhật hậu trường là bắt buộc. Chúc mừng :) – MoominTroll

1

Có thể lấy cảm hứng từ lịch google. Ở đó bạn có thể chọn một khoảng thời gian trong chế độ xem theo tháng bằng cách nhấp chuột kéo một phạm vi ngày. Tôi đoán đó là cách nhanh hơn để nhập khoảng thời gian dài hơn. (Giống như phần dưới của con rồng)

+0

và có plugin lịch tuần chỉ thực hiện việc này. Tôi không biết liên kết nhưng nó rất phổ biến trên những plugin 10 jquery bạn phải có blog loại để google là bạn của bạn. – robodisco

+0

Nhấp vào kéo hoạt động tốt ngay bây giờ - việc triển khai có một số "trạng thái" đã xảy ra - ngay bây giờ tôi đang ràng buộc với trạng thái bật/tắt từ hộp kiểm – MoominTroll

+0

@adam Có thể bạn đang nghĩ đến FullCalendar, nhưng tôi 'không chắc chắn nó sẽ làm việc ở đây. – Ryan

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