Narix Posted November 26, 2011 Report Share Posted November 26, 2011 Labsvakars. Situācija ir sekojoša, mēģināšu apstāstīt pēc iespējas vienkāršāk. Programmēju i-veikalu - apstājos pie sekojošas lietas: Ir produktu lapa, attiecīgi bildes, linki u.t.t., zem katra linka slēpjas kkas tāds: ?l=lv&s=shop&c=1&p=1 ?l=lv&s=shop&c=1&p=2 u.t.t. Lieta ko nevaru saprast ir sekojoša - man vajag dabūt pēdējo mainīgo "p=1" iekš jQuery Modal Window, t.i. kkas līdzīgs FancyBoxam. Problēma rodas tajā, ka šis Modal Window jau tiek ielādēts lapas sākumā. Kā lai iekš tā dabū mainīgo brīdī kad spiež uz linka "?l=lv&s=shop&c=1&p=1" ??? Tiešām būšu pateicīgs par palīdzību. Quote Link to comment Share on other sites More sharing options...
0 404 Posted November 26, 2011 Report Share Posted November 26, 2011 Ja to mainīgo ir iespēja iemest iekš linka id,tad burtiski ņemot varbūt var šādi: $('li a').live("click",function(){ var param = $(this).attr('id'); $('#dialog').attr("attr", param); }); Quote Link to comment Share on other sites More sharing options...
0 briedis Posted November 26, 2011 Report Share Posted November 26, 2011 Ja to mainīgo ir iespēja iemest iekš linka id,tad burtiski ņemot varbūt var šādi: $('li a').live("click",function(){ var param = $(this).attr('id'); $('#dialog').attr("attr", param); }); Fuj, nedari nekad tā vairs! Atnāks codez nolamās! Pareizais piegājies ir: $('li').delegate("a", "click",function(){ $('#dialog').attr("attr", $(this).attr("id")); }); Quote Link to comment Share on other sites More sharing options...
0 404 Posted November 26, 2011 Report Share Posted November 26, 2011 (edited) Man Jquery galīgi nav stiprā puse bet tavs variants izskatās tīri elegants un noderēs man ar :) Edited November 26, 2011 by 404 Quote Link to comment Share on other sites More sharing options...
0 briedis Posted November 26, 2011 Report Share Posted November 26, 2011 Man Jquery galīgi nav stiprā puse bet tavs variants izskatās tīri elegants un noderēs man ar :) click un live vietā tagad būtu jāizmanto delegate. Vispār, ar jauno jQuery ir arī tāds .on() (http://api.jquery.com/on/) Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 27, 2011 Author Report Share Posted November 27, 2011 Laikam tomēr esmu pastulbs uz šo visu, bet man vēl aizvien nepielec? Varbūt varu palūgt nedaudz sīkāk? Quote Link to comment Share on other sites More sharing options...
0 briedis Posted November 27, 2011 Report Share Posted November 27, 2011 Zini kur ir kļūda? Tur, ka tu pats programmē internetveikalu, tajā pat laikā, kad ir tik daudz bezmaksas labu alternatīvu :) Kā es saprotu, tu kliko uz linka un tad atveras modālais logs? Tajā brīdi, kad notiek klikšķis, nav iespējams noteikt, no kurienes tas tika izsaukts un attiecīgi piekļūt href vērtībai? Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 27, 2011 Author Report Share Posted November 27, 2011 Zini kur ir kļūda? Tur, ka tu pats programmē internetveikalu, tajā pat laikā, kad ir tik daudz bezmaksas labu alternatīvu :) Negribu ņemt neko gatavu, jo tāpat tur būs jāizmet ārā viss liekais + ja ņemtu ko gatavu - tas tāpat neatrisinātu problēmu ar modal logu ;) Kā es saprotu, tu kliko uz linka un tad atveras modālais logs? Tajā brīdi, kad notiek klikšķis, nav iespējams noteikt, no kurienes tas tika izsaukts un attiecīgi piekļūt href vērtībai?:) Tieši tā. Man ir jādabū modalajā logā vismaz viens mainīgais lai pēc tā varētu atlasīt datus no DB. Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted November 27, 2011 Report Share Posted November 27, 2011 Doma tāda, ja sapratu: $('a').click(function() { var link = $(this).attr('href'); console.log(link); // AJAX... }); Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 27, 2011 Author Report Share Posted November 27, 2011 Nekas man tur nesanāk... Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted November 27, 2011 Report Share Posted November 27, 2011 Žēl. Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 27, 2011 Author Report Share Posted November 27, 2011 (edited) $('li a').live("click",function(){var param = $(this).attr('id');$('#dialog').attr("attr", param);}); Attoecībā uz šo - a elements tiek paņemts tikai ja viņš atrodās iekš li? Edited November 27, 2011 by Narix Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted November 27, 2011 Report Share Posted November 27, 2011 Tikai, ka ir iekš `a`, jo selektors ir `li a`. Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 27, 2011 Author Report Share Posted November 27, 2011 (edited) Sākšu ar to ka atvainojos par koda nepārskatamību. Tātad links veidojas šādi: echo "<h2><a href=\"?l=$valid&s=".$sadala."&c=".$prod['cat_id']."&p=".$prod['id']."\">"; if(strlen($prod['name'.$dbval]) < 1) { echo "Nav tulkojuma"; } else { echo $prod['name'.$dbval]; } echo "</a></h2>"; Kods: var title = $("a").attr("href"); $("#test").text(title); Man izvada ?l=lv Paskaidrojat man muļķim kā izmantojot $('li a').live("click",function(){ var param = $(this).attr('id'); $('#test').attr("attr", param); }); Dabūt ārā vērtību no p=".$prod['id']." Ar šo ir tikts kārtībā. <script type="text/javascript"> $("a").live("click",function(){ var param = $(this).attr("id"); $("#test").text(param); }); </script> šis dara visu ko vajag, bet ir nākamā problēma - modal windows šo info nesaglabā. ja veido vienk linku bez modal, tad atributs tiek nolasits un pie lapas ielades uzreiz pazūd. Kā lai viņu "noķer" un atstāj modal windowā? Edited November 27, 2011 by Narix Quote Link to comment Share on other sites More sharing options...
0 404 Posted November 27, 2011 Report Share Posted November 27, 2011 (edited) Paskaidrojat man muļķim kā izmantojot $('li a').live("click",function(){ var param = $(this).attr('id'); $('#test').attr("attr", param); }); Dabūt ārā vērtību no p=".$prod['id']." Tas piemērs parāda,kā var atgriezt ID vērtību no linka,brīdī kad uz tā tiek uzklikšķināts.Attiecīgi linkā vispirms ir šis id jāievieto tāpat kā tas tiek ielikts iekš href. Bet šis $("#test").text(param); ievieto kā parastu tekstu,un loģiski ka tālāk viņš nav tādā veidā izmantojams.Padod kā parametru kādai modal callback funkcijai,un iekš tās dari visu ko vajag. Vai arī padod modālajam jau gatavu saformētu linku. Edited November 27, 2011 by 404 Quote Link to comment Share on other sites More sharing options...
0 Narix Posted November 28, 2011 Author Report Share Posted November 28, 2011 (edited) Tas piemērs parāda,kā var atgriezt ID vērtību no linka,brīdī kad uz tā tiek uzklikšķināts.Attiecīgi linkā vispirms ir šis id jāievieto tāpat kā tas tiek ielikts iekš href. Bet šis $("#test").text(param); ievieto kā parastu tekstu,un loģiski ka tālāk viņš nav tādā veidā izmantojams.Padod kā parametru kādai modal callback funkcijai,un iekš tās dari visu ko vajag. Vai arī padod modālajam jau gatavu saformētu linku. Šo visu sapratu, tomēr pieredze ar jquery rodas tikai šobrīd, vakar papētiju dokumentāciju, tomēr risinājumu neatradu, pie tam termiņi spiež lai iegrimtu tajā visā. Ļoti lūdzu sniegt vismaz kkādu piemēru, vai virzienu kur skatīties lai tajā modālajā logā varu nolasīt no linka iegūto vērtību. Edit: Laikam jau reāli pi#$3 variants bet strādā: $id="<div id='test'></div>"; echo "mainiigais ir $id"; Edit: nē tomēr nestrādā. Edited November 28, 2011 by Narix Quote Link to comment Share on other sites More sharing options...
Question
Narix
Labsvakars.
Situācija ir sekojoša, mēģināšu apstāstīt pēc iespējas vienkāršāk.
Programmēju i-veikalu - apstājos pie sekojošas lietas:
Ir produktu lapa, attiecīgi bildes, linki u.t.t., zem katra linka slēpjas kkas tāds:
Lieta ko nevaru saprast ir sekojoša - man vajag dabūt pēdējo mainīgo "p=1" iekš jQuery Modal Window, t.i. kkas līdzīgs FancyBoxam.
Problēma rodas tajā, ka šis Modal Window jau tiek ielādēts lapas sākumā.
Kā lai iekš tā dabū mainīgo brīdī kad spiež uz linka "?l=lv&s=shop&c=1&p=1" ???
Tiešām būšu pateicīgs par palīdzību.
Link to comment
Share on other sites
23 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.