Autor Zpráva
Monekys
Profil *
Trochu bojujem s jednoduchym tlacitkom ...
Mam na stranke 2 tlacitka cez ktore overujem dostupnost izieb na API rezervacneho systemu.
Defaultne je to tlacitko:

<a href="javascript:void(0)" class="check-reservation" .....</a>

premennu url si vyskladam to je spravne, problem je ze ak kliknem na ".check-reservation" tak sa mi hned automaticky odosle na rezervaciu, ja by som potreboval aby sa to neodoslalo ale aby sa len zmenila url a tlacitko ostalo ako link, v com robim chybu ?

return false ani e.preventDefault() som skusal ale je to hluche!

$(".check-reservation").click(function( e ){

let     url = "",
      label = "Rezervovat",
                    link = {
                        base : {
                            url :  '<?php print URL; ?>',
                            lang : '<?php print $actuallang; ?>',
                        },
                        link : {
                            id : <?php print $izba['izba']['ID']; ?>,
                            from : '<?php print $from; ?>',
                            to : '<?php print $to; ?>',
                            person : '<?php print $pocetOsob; ?>',
                            kids : '<?php print $pocetDeti; ?>'
                        },
                    };
//create url to reservation
                        for(var obj in link ){
                                switch(obj){
                                    case "base":
                                        url += link[obj]['url'] + "rezervacia/";
                                        url += link[obj]['lang'] + "/?";
                                    break;
                                    case "link":
                                        for(var elem in link[obj]){
                                          url += (elem != "id" ) ? "&" + elem + "=" + link[obj][elem] : elem + "=" + link[obj][elem];
                                        }
                                    break;
                                }
                            }
//change all buttons to links
$(".check-reservation").each(function(i, link){
                            $(link).attr({ href : url, title : label }); <--- tuto 
                            $(link).text( label );
                            $(link).removeClass("check-reservation").addClass("reservation-ready");
                        });
}

M.
Monekys
Profil *
Hadam niekomu pomozem ak by riesil podobny problem so zmenou url v linku:
miesto:
$(".check-reservation").click(function( e ){ ... });
treba dat
$(document).on("click", '.check-reservation', function( e ){ ... });

na koniec, alebo v priebehu funkcie este treba pridat nieco taketo:
$(link).removeClass("check-reservation");

Nebudem rozpisovat dovody preco pouzit on() miesto click() to uz si treba vyskusat ...

M.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0