![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 14 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Przygotowuję dla użytkowników grafik na stronie i mam kilka problemów. Jednym z nich jest sposób zapisu danych. Opcji jest 49 + "Nie wybrano żadnej opcji". Na początku myślałem o zapisie w postaci dwójkowej, coś co opisywał nospor, ale przy takiej liczbie opcji jest to dosyć uciążliwe, dlatego postanowiłem zapisywać wybór w postaci ciągu liczb rozdzielonych przecinkiem. I tak opcja 1 = 1, opcja 2 = 2, opcja 5 = 5 aż do opcji 49-tej, która ma wartość 49. Dlaczego tak? Ponieważ grafik jest tabelą podzieloną na 8 kolumn i 8 wierszy. 7 kolumn definiuje każdy dzień tygodnia, a 7 wierszy kilka przedziałów czasowych do wyboru. Więc użytkownik ma do wyboru 49 opcji do zaznaczenia (czy chce coś robić w tym przedziale czasowym danego dnia, czy nie). Pola są typu Kolejna rzecz wiąże się już z samym CSSem i JSem. Chciałem zmodyfikować wygląd checkboxów, bo te standardowe to jakoś nie tak wyglądają w całej tej tabeli. No więc z pomocą przyszedmi (teoretycznie) jQuery UI i jego widget "button" (http://jqueryui.com/demos/button/#checkbox). Problem w tym, że ja na JS znam się naprawdę minimalnie, a po drugie, można tutaj definiować buttony tylko na podstawie id. Co za tym idzie, musiałbym zrobić 49 inputów z różnymi ID (to nie jest problem) i 49 wpisów typu: Kod $( "#check1" ).button(); $( "#check2" ).button(); $( "#check3" ).button(); itd. Więc byłoby bardzo miło gdyby ktoś pomógł zrobić to w jakiś ładny i dobry sposób, bo przy ew. zmianie, będzie dużo do zmieniania, a takich sytuacji powinno się unikać. Dodam, że użycie buttonset() nic nie da, bo ustala on jeden przycisk z umieszczonych w jednym miejscu inputów. A tutaj niestety mam tabelę 8x8, więc to nie przejdzie. Z góry dziękuję za odpowiedzi. Pozdrawiam. Ten post edytował Kużdo 22.09.2011, 14:17:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 14 Dołączył: 4.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czytanie ze zrozumieniem?
Mam tabelę, 8 kolumn i 8 wierszy. 7 kolumn i 7 wierszy wypełnione jest inputami typu checkbox. Żeby zadziałało jQuery UI button musiałbym każdemu z nich nadać id i w części head dać: Kod <script type="text/javascript"> $(function() { $( "#id1" ).button(); $( "#id2" ).button(); $( "#id3" ).button(); (...) $( "#id47" ).button(); $( "#id48" ).button(); $( "#id49" ).button(); }); </script> Co jest uciążliwe jeśli będzie trzeba później coś zmieniać. Chciałbym aby zamienianie checkboxów na customowe odbywało się bardziej dynamicznie => Jeśli jest 10 inputów, to mają się zamienić; dodam kolejne 4 >> zamieniają się w customowe. Bez modyfikacji części head itp. Dla osób, które jednak muszą to przeczytać w wersji HTML: http://jsfiddle.net/bGbSJ/2/ //Komentarz do edycji postu wyżej: OK, zadziała to na standardowe inputy na stronie, ale nie zadziała na inputy w tabeli. Dlaczego? Tego nie wiem. Możliwe, że przeszkadza tu ta sama nazwa dla każdego inputa "zaznaczone[]". Tak czy siak, jeśli już zrobię coś takiego w sposób globalny, to zazwyczaj dochodzi do erroru przeglądarki "Skrypt wykonywał się za długo, czy przerwać go, ble ble"... A tego raczej nie chcemy. Ten post edytował Kużdo 22.09.2011, 13:16:12 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czytanie ze zrozumieniem? A o poprawnym zadaniu pytania i opisie słyszał? Cytat Nie mógłbym więc zapisywać do bazy wartości w postaci "0,1,1,1,0,0,0," itd. bo tych zer nie byłoby. Niby dlaczego? Odwołania w jQ są takie same jak w css $(table input).cos(); Link Ten post edytował !*! 22.09.2011, 13:48:52 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 13:52 |