Chceš rozjet Affiliate? Tak jedině v CJ.com, technologii využívá iDnes.cz, Denik.cz i SME.sk
Zobrazují se odpovědi 1 až 6 z 6

Nefungující jquery.load()

  1. Ahoj, chtěl bych se zeptat jestli Vás nenapadá z jakého důvodu mi na stránkách funguje a nefunguje jquery.load().

    Kód:
        $("#vypis-vyrobcu input").change(function() {
         if(!$(this).is(':checked')) { 
          
          vyrobci = vyrobci + ",'" + String($(this).val()) +"'";
    
           var proSplit = $("#amount").val();
           var datFromVariable = proSplit.split(" ");
    
         } else {
            vyrobci = vyrobci.replace(",'"+String($(this).val()) + "'" , "");  
         }
    
         $("#zbozi").load("ajax_load.php", "cenaod="+String(datFromVariable[0])+"- "+String(datFromVariable[3])+"&obsah=<?php echo $_GET['obsah']; ?>
    &arrayslev=<?php echo implode(',', $slevy_v_kategorii); ?>&vyrobci="+String(vyrobci) 
    
    , function(odpoved, status, XMLHttpRequest) {
              if (status == "error") {
                alert("Chyba: \n" + XMLHttpRequest.status + " " + XMLHttpRequest.statusText + "\n\n");
              }
            }); 
    
    
        });
    Kód provádí to, že mám defaultně na stránkách zaškrtnutých asi cca 5 checkboxů výrobců v eshopu a pokud nějaký odkliknu tak se mi načte nový obsah do tagu ul. Pokud checkebox odškrtnu tak to skočí do první větve if (tam se mi přičte nová proměnná), jestli opět zaškrtnu tak do else (tam se odečte proměnná).

    V load je pak sql dotaz, který vytáhne dané informace. To co ale na nefuguje, že se odešle load jen když nějaký checkbox odškrtnu a skočí do první větve if, v opačné případě se nic nepošle a ul se nenačte znovu.

    Všechno jsem si vypisoval, má to správné hodnoty které to má odeslat v obou větvích, ale pokud to skočí do else (zaškrtnu něco, tak se load neprovede).

    Za každou radu budu rád, díky ;-)

  2. Co se právě děje na Webtrhu?
  3. KejliCZ Hodnocení: 44 (100%) KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough
    2
    Nějak jsem to nestudoval, protože v jQuery jsem dělal jen základy, ale proč máš tady
    Kód:
    $("#vypis-vyrobcu input")
    ten #, když tam těch prvků máš víc. Neměli by se označit třídou a dát tam tečku?

  4. Jedná se o div a v něm jsou další inputy

  5. KejliCZ Hodnocení: 44 (100%) KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough KejliCZ is a jewel in the rough
    4
    Citace Původně odeslal Vít Hellebrand Zobrazit příspěvek
    Jedná se o div a v něm jsou další inputy
    Aha. Tak to jo.

  6. 800XE Hodnocení: 8 (100%) 800XE is a jewel in the rough 800XE is a jewel in the rough 800XE is a jewel in the rough
    5
    Tipoval bych, že problém bude v tom, že ve větvi else nikde nedefinuješ proměnnou datFromVariable, kterou se následně pokoušíš použít v .load(). Otevři si chybovou konzoli(ctrl+shift+j) a podívej se, co ti to píše.

    Jinak k tomu kódu bych měl pár připomínek:

    - Kód je nezarovnaný, neodsazený, nemá žádný řád a tím pádem je nepřehledný.
    - Názvy proměnných a parametrů jsou někdy česky, někdy anglicky a někdy dokonce českoanglicky. Zvol si jeden jazyk a ten pak používej pro všechno.
    - Konverze na řetězce v JS probíhá automaticky. Navíc se na řetězec pokoušíš konvertovat řetězce, což už vůbec nedává smysl.

  7. Díky ;-), mohla za to proměnná datFromVariable, úplně jsem na ní zapomněl. Jinak odsazené to je, ale po překopírování tady to vždycky hodí kód rozházeně, ohledně názvů proměnných dodržuji pravidla, ale část kódu jsem překopíroval. Ještě jednou díky.

Hostujeme u Server powered by TELE3