Archiv štítku: jquery

jQuery UI Dialog a metoda isOpen

Podle dokumentace by metoda isOpen měla vracet true v případě, že dialog je otevřený a false v případě, že není.

$( "#gallery" ).dialog( "isOpen" )

Ve skutečnosti jsem se setkal s tím, že vrátí [object Object] v případě, že je otevřený a false v případě, že není. Což je zvláštní, každopádně účel této metody je zachován. Asi na to má vliv verze knihoven, ale nevím. Použil jsem jQuery 1.5.2 (verze 1.6 také nefungovala) a Jquery UI 1.8.12.

Coin Slider a doména přes obrázek

Tato knihovna slouží například pro vytvoření hlavičky webu, ve které se mohou střídat fotky. Využívá knihovnu jQuery. Pokud se vám jako mně stane, že narazíte na problém, kdy se přes obrázky zobrazuje název domény cca na 0,5 sekundy, lze to vyřešit například tímto způsobem:

.coin-slider { color:transparent; }

jQuery – spuštění akce pro každý prvek z výběru

Jen krátký kód pro spuštění funkce nad každým prvkem z výběru, například:

$.each($("button[type=submit]"), function() {
 $(this).html('<div></div>');
});

Toto se dá například zkombinovat s následujícím kódem:

$.each($(".selector"), function() {  
  $("> .selector2",this).css('display','block');
});

Css styl se aplikuje na všechny prvky vyhovující podmínce „> .selector2“, které se nacházejí přímo v prvku specifikovaném jako „.selector“.


 					

Validace formuláře pomocí jQuery

Validaci formuláře lze zajistit bez zbytečného programování pomocí pluginu Validation pro jQuery. Domovská stránka pluginu je http://bassistance.de/jquery-plugins/jquery-plugin-validation/.

Základní kód nutný pro validaci je následující:

<script type="text/javascript" language="JavaScript1.2" src="./stranky/inc/jquery.validate.pack.js"></script>
<script>
$(document).ready(function(){
   $("#form").validate({
       errorPlacement: function(error, element) {
       if (element.parent("td").parent("tr").next("tr").children(".poznamka").length)
          error.prependTo( element.parent("td").parent("tr").next("tr").children(".poznamka") );
       else
          error.prependTo( element.parent("td").parent("tr").parent("tbody").parent("table").parent("td").parent("tr").next("tr").children(".poznamka") );
      }
    })

 });
 </script>
form action="formular.php" id="form" method="post">
<table>
<tr><td>Položka</td><td><input type="text" name="input" value="" class="required email"/></td></tr>
<tr><td></td><td class="poznamka"></td></tr>
<tr><td colspan="2"><input type="submit" value="Odeslat"/></td></tr>
</table>
</form>

Při odeslání formuláře bude tento zvalidován a input bude zkontrolován zda je vyplněn (required) a zda obsahuje platnou emailovou adresu (email). Velice jednoduché, že? 🙂 V obslužném JavaScriptu je parametr errorPlacement, v tomto případě se podle toho, zda jde o daný způsob vykreslení formuláře (v tabulce), zobrazí chyba v buňce třídy poznamka.

Takto lze poměrně jednoduše docílit spolehlivé validace formuláře bez nutnosti vymýšlet a programovat konkrétní validační funkce.