Przyda?o mi si? ostatnio… w jQuery

 

Nie ma tu ostatnio nowych wpisów, bo trzeba w ko?cu troch? pozarabia? normalnie, czyli majstrowaniem przy WWW. Kilku rozwi?za? troch? szuka?em, wi?c pomy?la?em, ?e mo?e i komu? innemu si? przyda.

Ci?gle si? ucz? nowych rzeczy w jQuery, wi?c je?li co? mo?na lepiej zrobi?, to b?d? wdzi?czny za info ;)

Dodanie optgroups do cForms II

Do formularza w cForms II musia?em doda? optgroups, których domy?lnie to fajne rozszerzenie nie obs?uguje. Z pomoc? przysz?o takie ma?e rozwi?zanie Jasona Gilla, które wykorzystuje jQuery:

if($(".cform").length!=0){
  $(".cform select option").each(function(){
    if($(this).val() == "groupstart"){
      var label = $(this).text();
      $(this).nextUntil('option[value|="groupend"]')
        .wrapAll("<optgroup label='"+label+"' />");
      $(this).detach();
    }
  });
  $('option[value|="groupend"]').detach();
}

I potem wystarczy ju? tylko odpowiednio wype?ni? zawarto?? wpisu:

Color#Choose|#Warm Colors|groupstart#red#orange#yellow#groupend#Cool Colors|groupstart#blue#green#purple#groupend

Optgroups pomog?y mi jeszcze troch? pooszukiwa? cForms – w zale?no?ci od wybranej opcji w jednym select, w drugim pojawia? si? dost?pny tylko odpowiedni optgroup.

Klikni?cie poza konkretnym obszarem

W innym projekcie mia?em obszar, który mia? si? ukrywa? po klikni?ciu poza jego obszarem… z ca?? mas? wyj?tków w postaci dwóch czy trzech menusów, które by?y w ró?nych miejscach strony i mia?y na tym obszarze co? ?adowa?.

Gdzie? w sieci znalaz?em takie rozwi?zanie:

$(document).bind('click', function(e){ 
	var $clicked = $(e.target); 
	if (!($clicked.is('#element1') || $clicked.parents().is('#element1') || $clicked.is('#element2') || $clicked.parents().is('#element2'))) { 
		// Tu w?a?ciwe akcje po klikni?ciu
	} 
});

UI.Spinner do pe?nych godzin

W jakim? formularzu mia?em dorzuci? „spinnera” do wyboru godzin. W sieci mo?na znale?? setk? gotowych spinnerów, które albo radz? z sobie z liczbami ale ju? nie z datami, albo pe?ne kombajny z datepickerami, które k?óc? si? z czym?, co doda? wcze?niej kto? inny. Na szcz??cie prosty ui.spinner Burnetta poradzi? sobie z pe?nymi godzinami, wystarczy?o da? w value godzin? w postaci np. „6.00” i potem odpali? spinnera w postaci:

$('#godzina').spinner({ min: 6.00, max: 20.00, step: '1.00' });  

Wpis opublikowany 13 listopada 2011
Tagi: , , ,
Kategorie: prywata, webdesign, webmaster, wordpress, wszystkie

Zobacz również:

Komentarze do wpisu "Przyda?o mi si? ostatnio… w jQuery"

Robisz zakupy w internecie?
Pomagaj ZA DARMO przy okazji
4000 organizacji społecznych i ponad 1000 sklepów