Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekazywanie zmiennej
taurrandir
post 16.09.2010, 08:27:54
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.09.2010

Ostrzeżenie: (0%)
-----


Witam!

Robię taki mały moduł do PrestaShop i natrafiłem na problem. Problem może i niewielki, ale JS to dla mnie nowość. Na podstawie danych z bazy mam wygenerowany taki kod:

Kod
<div id="toplinks2">
    <ul>
        <li>
        <a href="" class='popup' onclick="var id_link = "#popup1";">Popup link 1</a>
        <div id="popup2" style="display:none;">Jakiś tekst</div>
        </li>

        <li><a href="costam">Zwykły link</a></li>

        <li>
        <a href="" class='popup' onclick="var id_link = "#popup2";">Popup link 2</a>
        <div id="popup2" style="display:none;">Jakiś tekst</div>
        </li>
    </ul>
</div>


Jak widać część linków to zwykłe linki inne to popupy wyskakujące dzięki pluginowi do jQuery.
Kod zewnętrznego pliku .js:

Kod
jQuery(function ($) {
    $('#toplinks2 .popup').click(function (e) {
        $(id_link).modal();
    return false;
    });
});


Problem tkwi w tym, że zmienna id_link nie przechodzi do zewnętrznego pliku .js.
A przy okazji.. czy taki sposób wykonywania funkcji po kliknięciu linka jest dobry? Czy może istnieje lepsza metoda?
Go to the top of the page
+Quote Post
tr@k
post 16.09.2010, 08:33:41
Post #2





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

Ostrzeżenie: (0%)
-----


To jest źle
Kod
onclick="var id_link = "#popup2";">


Java script widzi tylko tyle
Kod
onclick="var id_link = "

czyli pustą zmienną.

Popraw cudzysłowy


--------------------
Web usability
Program Partnerski
Go to the top of the page
+Quote Post
taurrandir
post 16.09.2010, 08:57:16
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.09.2010

Ostrzeżenie: (0%)
-----


Nadal nie działa.

Dla uproszczenia zrobiłem tak:
Kod
<a href="" class='popup' onclick="var id_link = 1;">Popup link 1</a>

Plik .js:
Kod
jQuery(function ($) {
    $('#toplinks2 .popup').click(function (e) {
    alert( id_link );
        return false;
    });
});


To też nie działa.
Go to the top of the page
+Quote Post
tr@k
post 16.09.2010, 09:09:22
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 8
Dołączył: 13.09.2010

Ostrzeżenie: (0%)
-----


Spróbuj stworzyć zmienną w pliku gdzie masz funkcję i zmienić tę wartość funkcją
Kod
var id_link='';

function setLinkId(id)
{
  id_link = id;
}
jQuery(function ($) {
...


A w html'u:
Kod
onclick="setLinkId('1')">





--------------------
Web usability
Program Partnerski
Go to the top of the page
+Quote Post
taurrandir
post 16.09.2010, 09:18:16
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 16.09.2010

Ostrzeżenie: (0%)
-----


Działa! Wielkie dzięki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 05:14