- HiMedia lejátszók
- Kivégzi a Firewire-t az új macOS verzió?
- Sony MILC fényképezőgépcsalád
- Gaming notebook topik
- AMD vs. INTEL vs. NVIDIA
- Házi hardvert villantott a Xiaomi Pad 7S Pro
- Milyen videókártyát?
- Vezeték nélküli fejhallgatók
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Milyen billentyűzetet vegyek?
Új hozzászólás Aktív témák
-
szmegma
aktív tag
if(preid != postid){
$(".dt").hide();
//alert(postid+"|"+preid);
}Akarmire kattintok preid SOHA nem lesz egyenlo postid-vel mivel a slide resz az elsebe kerult. Ahhoz, hogy az else ag igaz legyen legalabb egyszer igaznak kellene lennie az else agnak... odogi korbe tettem a kodot...
Abszolut elvesztettem a fonalat. -
jeges
senior tag
de igazad van.
azt nem látom a kódban, hol vizsgálod, hogy display:none igaz-e.
a korábban megbeszéltek szerint akkor kell futtatni a slide-okat, ha
1) az each-ben ahhoz az elemhez értünk, amelyikre klikkeltünk - ez a két id összevetése
2) éppen nincs végrehajtás alatt a kód --> display nem "none"ez alapján a slide-os részt az else ágon belül még egy elágazásba kellene tenni
if ($(this).css("display") == "none"){...} -
szmegma
aktív tag
Amit irsz az tiszta es ertem.
El is keszitem igy a kodot:<script type="text/javascript">
$(document).ready(function() {
var yOffset = 15;
var xOffset = -23;
$(".dt").hide();
$(".help").click(function(e){
var preid = $(this).attr("id");
var proid = preid.split('-');
var id = proid[1];
$(".dt").each(function(){
var postid = $(this).attr("id");
if(preid != postid){
$(".dt").hide();
//alert(postid+"|"+preid);
}
else{
return false;
}
});
$("#f"+id).css("top", "12px").css("left", "-9px").css("position", "absolute").css("z-index", "9999");
$("#i-"+id).css("top", (e.pageY + xOffset)+"px").css("left", (e.pageX + yOffset)+"px").slideDown("slow").delay(2000).slideUp("slow");
});
});</script>Megsem mukodik. Szerintem a $("#f"+id).css("top", "12px").css("left", "-9px").css("position", "absolute").css("z-index", "9999");
$("#i-"+id).css("top", (e.pageY + xOffset)+"px").css("left", (e.pageX + yOffset)+"px").slideDown("slow").delay(2000).slideUp("slow"); resz a baja, hogy nem az each function-on belul van es miutan az lefutott ezek mindenkeppen lefutnak attol fuggetlenul, hogy mi jott vissza az each-bol.
Tevedek? -
jeges
senior tag
a legegyszerűbb valszeg az lenne, ha a h != id helyett
preid != $(this).attr(id) - t írnál
ez a feltétel azt jelenti, hogy a klikk célelem és az each-ben éppen vizsgált elem id-je egyezik
ha ez a feltétel nem teljesül (azaz a klikkelt elemnél járunk az each-ben), és a vizsgált elem display-e nem none, az azt jelenti, hogy végrehajtás alatt van a kód. ebben az esetben meg kell szakítani a futást (azaz return false -
jeges
senior tag
erre megoldás amit fent írtam: katt-ra adsz egy spec class-t a kinyitott elemnek, és azt vizsgálod. id-t is lehet, de a class valamivel rugalmasabb, kevésbé csúf, ha mondjuk törlöd, mint id esetében.
szerk: nézegettem is a kódot, hogy vajon mi az a h változó a névtelen függvényben
-
szmegma
aktív tag
Ezzel ugyan ugy nem mukodik es igy problema jelenik meg:
mondjuk nyitott a 4. box es kinyitom a 7. boxot akkor a 4. box nem tunik el.Szerintem valtozoba kellene tenni a nyitott box ID-jet es azt osszehasonlitani a kattintott ID-vel, nem?
Probaltam a h != id de a h nem a nyitott box ID-jet tartalmazza, igy az if<>else ag is ertelmetlen. -
szmegma
aktív tag
Idaig jutottam el: MEGTEKINTES
Jelenleg egy problema kivetelevel mukodik rendesen. Az a bajom, hogy amikor kattintok mondjuk a 4. kerdojelre es megjelenik a 4. box tartalma, ujboli kattintas a 4. kerdojelre azt eredmenyezi, hogy eltunik egy idore a 4. box tartalma de ujbol megjelenik, majd a delay() miatt ismet eltunik.
Hogyan lehetne ezt megakadalyozni, hogy ha nyiott cuccra kattintok akkor az szimplan tunjon el es ne pedig a kodot futtassa?
Probaltam valtozoba helyezni a nyitott box ID-jet de nem sikerult. -
jeges
senior tag
1 a hide() utáni 2 sor szinte biztos felesleges. ha hide-olod az elemet, utána sztem nem kell slidedown+slideup
2 az kavarhat még be, h else ágon van a slidedown+slideup. else helyett az .each utánra tenném, mert csak egyszer akarod végrehajtani.összefoglalva az .each-be csak a hide kell sztem, az eredeti slide-ok az each után külön egyszer végrehajtva.
-
martonx
veterán
jeges az each funkciót az ellenőrzésre értette.
Ami jó is, csak te most már kevered a szezont a fazonnal.
1. Ellenőrizd le, hogy melyik elemre ment a kattintás, ezt még az each előtt (ezt meg is tetted).
2. Majd jöhet az each, ahol először is vesd össze, hogy az adott elem amiben éppen azeach tart az a kattintott-e, vagy sem.
Ha nem a kattintott, akkor tüntesd el a képet, ha pedig pont a kattintott az, akkor jelenítsd meg a képet.Szóval nálad most ez az ellenőrzés hiányzik, mert ami ellenőrzésed van az hülyeség.
-
szmegma
aktív tag
-
jeges
senior tag
nos, nem véletlen, h visszakérdeztem, mer' nem volt egyértelmű, mi okozza a problémát. a kód egyébként bizonyosan tudni fogja, hogy nyitva van-e, ha megkérdezed tőle. pl:
$(".help").each(function(){
if($this.css("display") != "none"){ ... }
});vagy (ha pl nem szereted az .each() -t) hover-re adsz az elemnek egy "hover" (vagy akármilyen) class-t, és azt használod
$(".help").bind("mouseover",function(){ $(this).addClass("hover"); });
$(".help").bind("mouseout",function(){ $(this).removeClass("hover"); });így a fenti helyett:
$(".help").not(".hover").prev().css("display","none"); -
szmegma
aktív tag
Bocsi a kesoi valaszert.
Mint irtam probalkoztam a setTimeout() fuggvennyel de nem teljesen ugy mukodik ahogy elvarom.Keszitettem egy teszt oldalt: [link]
Itt lehet probalgatni hogy mi miert nem mukodik. Ez pontos masa az eredetinek.
------------------------------------------------------------------------------------------------------------
A $(this).delay(5000).hide(); reszt is probaltam, ekkor pedig a slideToggle hal meg.
------------------------------------------------------------------------------------------------------------
A var id2hide var id2show resz nem tudom mire lenne jo nekem az eltuntetesben? Mivel ha vki kattint mondjuk az 5. boxra majd a 2. boxra ez a kod nem fogja tudni, hogy az 5. box nyitva van.
------------------------------------------------------------------------------------------------------------Lehet rossz helyre teszem a setTimeout() reszt es azert nem kepes mukodni?
-
jeges
senior tag
mi okozza a problémát az eltüntetésben? logikailag a már megírt algoritmus használható némi kiegészítéssel:
var proid = $(this).attr("id").split("-");
var id2hide = ( (proid[1] * 1) == 1 ) ? 0 : 1;
var id2show = 1 * proid[1];ahogy megjeleníted a két elemet, úgy a másik kettőt el is tudod tüntetni.
-
Peter Kiss
őstag
-
szmegma
aktív tag
JQUERY KOD:
$(document).ready(function() {
var yOffset = 9;
var xOffset = -25;
$(".dt").hide();
$(".help").click(function(e) {
var preid = $(this).attr("id");
var proid = preid.split('-');
var id = proid[1];
$("#f"+id).css("top", "2px").css("left", "-9px").css("position", "absolute").css("z-index", "9999");
$("#i"+id).css("top", (e.pageY + xOffset)+"px").css("left", (e.pageX + yOffset)+"px").slideToggle("slow");
});
});HTML KOD:
<dt class="dt" id="i0"><img id="f0" src="_/arrow.png">EZ A SZOVEG JELENIK MEG KATTINTASRA</dt><img class="help" id="m-0" src="_/help.png">
<dt class="dt" id="i1"><img id="f1" src="_/arrow.png">EZ A SZOVEG JELENIK MEG KATTINTASRA</dt><img class="help" id="m-1" src="_/help.png">Sziasztok! Keszitettem egy kattintasra elotuno, ujabb kattintasra eltuno scriptet. Ket problemam van:
1, Amikor kattintok es megjelenik a szoveg, akkor ha egy masik hasonlo gombra kattintok es az a szoveg resz is megjelenik nem tudom eltunteni az elozot. A lenyeg, hogy MINDIG csak az a szoveg legyen lathato amelyikre utolsonak kattintottam es ezzel egyidoben tuntesse el az elozot.
2, Amikor kattintok es megjelenik a szoveg, kellene vmi idolimit, hogy ha nem kattint, hogy tunjon el, akkor is tuntesse el mondjuk 5 masodperc utan.A masodik problemamat probaltam setTimeout() fuggvennyel legyozni, de csak fel sikert ertem el: setTimeout("$('.dt').fadeOut();", 5000);
Elsore mukodik, de ha ujbol kattintok ugyan arra a gombra akkor amint megjelenik a szoveg, azonnal el is tunik.Szoval a segitsegeteket kerem, hogyan oldhato meg a fenti ket problema?
Elore is koszonom. -
jeges
senior tag
válasz
Brown ügynök #180 üzenetére
"hogyha mégsem választ ki egy sablonnevet, a begépelt szöveg ne tűnjön el a sablonnév inputból."
ha jól értem, a sablonnev inputot nem üríti a korábban írt kódrészleted, csak a template-et.
mindegy, sztem ez a három lehetőség van alapvetően:
1) ha a sablonnev változót vizsgálod:
if(sablonnev != undefined && sablonnev != "")$('#template').val(sablonnev);
2) ha a sablonnev id-jű inputot akarod vizsgálni:
if($('#sablonnev').val() != "")$('#template').val( $('#sablonnev').val() );
3) ha a sablonnev változóban tárolt id-jű inputot vizsgálod:
if($('#' + sablonnev).val() != "")$('#template').val( $('#' + sablonnev).val() );
-
Brown ügynök
senior tag
Nem jelez hibát.
@Athlon64++: Nem működik. Egyébként másik fv. esetében müködik a következő szisztéma: function fillTemplate(sablon, sablonnev){
$("#template").val(sablonnev);
}@jeges: A sablon és a sablonnev a visszakapott adat, ergo a változó.
Szerk: $("#template").val(sablonnev); Ez idáig működik. Már csak azt szeretném, hogyha mégsem választ ki egy sablonnevet, a begépelt szöveg ne tűnjön el a sablonnév inputból.
-
jeges
senior tag
válasz
Peter Kiss #177 üzenetére
ill még egy kieg:
sablonnev (csak számomra?) nem egyértelmű, h maga az input vagy egy változó. a válasz ill a felépítés függvényében kellhet elé a megfelelő kijelölő jel (# vagy .) -
Peter Kiss
őstag
válasz
Brown ügynök #175 üzenetére
onblur-ra paraméter nélkül hívod meg a függvényt, miért is rakna be bármit is, ha mindkét paraméter undefinied?
Másik tipp:
$val = $(sablonnev).val();
if ( $val == ""){
$("#template").val();
}
else{
$("#template").val($val);
}Helyett:
$("#template").val($(sablonnev).val()); -
martonx
veterán
válasz
Brown ügynök #175 üzenetére
F12 mit mutat?
-
Brown ügynök
senior tag
A következő a felállás: Két értéket kell behelyezni az ajax által visszaadott válaszból. Azt szeretném, ha onblur hatására szépen lefutó fv. a sablonnevet is behelyezné az inputba, amit most valamiért nem tesz meg.
Ha a sablonnev üres, akkor nem bántaná az input mezőt (tehát a begépelt szöveg megmaradna), ellenben kitöltené a visszakapott értékkel. Ez mintha már működött volna, most leellenőriztem és nem rak be semmit.
<input onblur="fillTemplate();" id="template" />
function fillTemplate(sablon, sablonnev){
$('iframe').first().contents().find('body').append(sablon);
$val = $(sablonnev).val();
if ( $val == ""){
$("#template").val();
}
else{
$("#template").val($val);
}
setTimeout("$('.suggestions').hide();", 200);
} -
Brown ügynök
senior tag
válasz
Peter Kiss #172 üzenetére
Ez lenne a legegyszerűbb megoldás. De a probléma túl összetett.
Van egy Postgres adatbázis SQL-ASCII kódolással. Van egy vállalatirányítási rendszer Delphiben, és lenne egy egy E-busniess felület amit most csinálok. Nos, az adatbázist dumpolom LATIN9-be. Ezt beillesztem egy UTF8 adatbázisba és akkor nagyjából működika webes rész. Igen ám, de a Delphi nem szereti valamiért ezt az adatbázist: invalid byte sequence for encoding utf8.
Arra gondoltam, először megpróbálom webes oldalról megoldani, de lehet hogy a Delphiben kellene valamit csinálni.
@jeges: Az adatbázis a "kezemben" van.
-
jeges
senior tag
válasz
Brown ügynök #169 üzenetére
milyen adatbázis? mennyire vannak a kezedben a beállítások?
(csak zárójelben: ez valami migrációs probléma?) -
Peter Kiss
őstag
válasz
Brown ügynök #171 üzenetére
Ehh, valóban.
Erre marad megoldásnak az, hogy szerveroldalon beveted az iconv()-ot, vagy urlencode-olsz kliensoldalon, szerveren meg dekódolsz. (Ezzel is van egy kicsi probléma, iconv() ajánlottabb.)Ettől függetlenül nem árthat megnézni a fentieket (önmagukban megoldást nem nyújtanak a problémádra sajnos), mert néha későn jön rá az ember, hogy valahol el van tolva a dolog.
Ami az ultimate megoldás lenne, az az adatbázis átborítása UTF-8-ba (meg minden másé). Nekem is azért nem volt szem előtt ez a jQuery "megjegyzés", mert weben már UTF-8 a menő, főleg a MySQL 5 óta (HUN collation).
-
Brown ügynök
senior tag
válasz
Peter Kiss #170 üzenetére
Igen, de itt nem azt írja, hogy utf8-ban küldi az adatokat amit dekódolnom kell?
Data will always be transmitted to the server using UTF-8 charset; you must decode this appropriately on the server side.
-
Peter Kiss
őstag
válasz
Brown ügynök #169 üzenetére
Ha szerveroldalon tolsz ki header-ben kódolást, akkor azt módosítsd.
Ha a HTML <head> részében meg van adva a kódolás, módosítsd. (És máshol is, pl.: XML)
Az összes fájl (.htm, .html, .php, js, .css, miegymás) karakterkódolását állítsd át latin2-re UTF-8-ról (Notepad2, Notepad++).Ennyi lenne.
-
Brown ügynök
senior tag
Előzmény
Akkor folytassuk itt.Itt hova tegyem a kódolást és mit használjak?
$('#cikkszam_s').keyup( function() {
if ( $('#cikkszam_s').val().length == 0) {
// Elrejtjük az ajánlást
$('#suggestions').hide();
} else {
var $cikkszam = $(this).val();
var $url = $("#searchAjaxProNum").val();
$.post($url, {cikkszam: $cikkszam},
function(data){
if(data.length > 0) {
$('#suggProduct').show();
$('#autoSuggProduct').html(data);
}
});
}
}); -
jeges
senior tag
válasz
Speeedfire #167 üzenetére
én azt mondom, minél egyszerűbb, annál jobb. ha már működik, lehet vele figurázni (fent már írt hasonlót valaki). ez pl egyszerű de nagyszerű, nem köll hozzá js se, csak css. és ha működni fog, még mindig slide-olhatod a megfelelő elemeket.
-
jeges
senior tag
válasz
Speeedfire #165 üzenetére
hja, látom.
az viszont esetleg lehet válasz az elcsúszásra, hogy a te tesztoldaladon minden li a sor elején van, az eredetiben pedig sorban egymás után. a float:left hiányzik nálad, ettől sorakoznak fel egymás mellé a li tag-ek.(azt továbbra sem értem, mi szükség erre a rengeteg ul-ra.)
-
Speeedfire
félisten
válasz
Peter Kiss #163 üzenetére
De js nélkül nem is látom ezeket az elemeket. Nem tudom mi lenne az elegánsabb megoldás, ami praktikus is.
jeges: A forrás szerint mindegyik külön ul között van. -
jeges
senior tag
válasz
Speeedfire #159 üzenetére
nem merültem el nagyon a kódban, de számomra legalábbis meglepő az a megoldás, hogy a menüsoron minden li elemnek saját ul-ja van. biztos, hogy ez volt az elképzelés? első blikkre azt gondolnám, egy legördülő menünek egy ul-ban vannak li tagjai, és az almenük ezeken belül további ul, ill li tagok szoktak lenni. nagyjából így:
<ul>
<li><a></a></li>
<li><a></a></li>
<li><a></a></li>
</ul>persze lehet, hogy én néztem el valamit.
a fenti ul-ok egyébként is valami miatt 0*0 pixelesek, ez sem biztos, hogy így kóser, de csak találgatok.
ennél mindenesetre láttam már egyszerűbb megoldást, számomra fura ez a plusz li tag beszúrás, mer' úgy tűnik, feleslegesen piszkálja a program a dom-ot.
-
Peter Kiss
őstag
válasz
Speeedfire #162 üzenetére
Az ilyen hibákra a megoldást az jelenti, he első körben eltünteted a JS kódot, és csak a CSS marad meg. Ha úgy okés, akkor utána lehet effektelni.
-
martonx
veterán
válasz
Speeedfire #159 üzenetére
Ha az Ügyfeleinknek, és a Leendő Ügyfeleinknek menük lenyílására gondolsz FF6 alatt teljesen szépen működnek.
Nem valami böngésző specifikus probléma lesz itt? -
Speeedfire
félisten
Kis jquery gondok van, a neten találtam egy egyszerű jquery kódot a lenyíló menünek. Viszont nem működik megfelelően.
$(document).ready(function(){
$('.dropdown').mouseenter(function(){
$('.sublinks').stop(false, true).hide();
var submenu = $(this).parent().next();
submenu.css({
position:'absolute',
top: $(this).offset().top + $(this).height() + 'px',
left: $(this).offset().left + 'px',
zIndex:1000
});
submenu.stop().slideDown(300);
submenu.mouseleave(function(){
$(this).slideUp(300);
});
});
});Valami miatt nem jó helyen jeleníti meg a lenyílő füleket. Jelenleg kicsit belenyúltam a top és a left definiálásánál, de így csak hd felbontásban van jó helyen. Hogy lehetne megoldani, hogy a megfelelő helyen jelenjen meg?
[A teszt oldal]Illetve ha lenyílik a menü akkor jobbra is elmozdul még, de ezt nem is értem, hogy miért mert a jquery-ben nincs ez deklarálva.
-
Brown ügynök
senior tag
Köszi mindkettőtöknek.
-
Peter Kiss
őstag
válasz
Brown ügynök #155 üzenetére
$('iframe').first().contents().find('body').append('<img src="' + elem + '"/>');
Így használom (majdnem) egy CKEditor-nál képbeszúrásra.
-
jeges
senior tag
válasz
Brown ügynök #155 üzenetére
-
Brown ügynök
senior tag
A képen látható body-ba szeretnék tartalmat írni jQueryvel:
Ezekkel próbálkoztam, de nem ment:
$("#cke_contents_editor").children('body').html(sablon);
$(".cke_show_borders").html(sablon); -
jeges
senior tag
válasz
Peter Kiss #153 üzenetére
erre jó bármelyik másik eseménykezelő eljárás is. ha jq nélkül, simán js-ben definiálsz egy .onclick függvényt, az is el fogja kapni az elem gyerekeinek a click-jeit (hacsak nem akadályozod meg külön a programkódban). erre az "elkapásra" írtam fent példát.
-
jeges
senior tag
válasz
Peter Kiss #151 üzenetére
a magam részéről kicsit általánosabban a bubbling kihasználását értem alatta, azaz hogy nem a célelemen fogom meg az eseményt, hanem a szülőjén. ettől lesz kezelhetőbb, gyorsabb az egész (pl. egy néhányszáz soros rácson ha minden cellára listenert raksz, az baromi lassú, míg egyetlen listenerrel a tábla elemen ugyanaz a hatás elérhető).
szerk: most, h előkerült utánanéztem, és valóban a jq-sok megkülönböztetik a rebinding-et a delegation-től, ahgy Te is írtad.
-
Peter Kiss
őstag
A .bind() nem delegál eseményt, csak a .live() és a .delegate() tudja ezt, legalábbis az én értelmezésemben. Delegálni akkor szoktunk, mikor még nem érhető el az adott elem a contextben. Azt is hozzátenném, hogy a .click() és hasonlók helyett érdemesebb a .live()-ot használni (ha lehet [pl. traversal metódusokat nem lehet használni arra, hogy elemeket keressünk a .live()-nak]), mert gyorsabb, viszont a .live() helyett meg jobb a .delegate() szintén a sebesség miatt, csak utóbbit néha körülményes használni.
---
SpeeedfireSzerintem ez a kód azt csinálja, mint a tiéd, csak rövidebben és gyorsabban.
$(document).ready(function() {
$(".hiremail").focus(function () {
$(this).val('').css('color', '#000').css('border-color', 'green');
})
.blur(function () {
var t = $(this);
if (t.val() == ''){
t.val('email cím...');
}
t.css('color', '#777').css('border-color', '#EEE');
});
}); -
Speeedfire
félisten
Így már tényleg jó a kód.
$(document).ready(function()
{
$(".hiremail").focus(function ()
{
var t= $(this);
t.attr('value',t.attr('value').replace('email cím...',''));
t.css('color', '#000');
t.css('border-color', 'green');
});
$(".hiremail").blur(function ()
{
var t= $(this);
if (t.val() == ''){
t.val('email cím...');
}
t.css('color', '#777');
t.css('border-color', '#EEE');
});
});Ezt az event delegation-t megnézem még. Igazából csak az értékek változnak, a színek már nem, illetve természetesen változik még a vizsgált elem.
-
jeges
senior tag
válasz
Speeedfire #147 üzenetére
nem kell, erre találták ki az event delegation-t
például:
$(document).bind('mouseup',function(e){
// event object
if(!e)e=window.event;//event target
var t = e.eventTarget || e.srcElement;//code
// itt t már az az elem, amelyen a mouseup történt});
a lényeg az lenne, hogy a document is érzékeli az összes elemen történt eseményt, ezért csak egy listener-t regisztrálsz őrajta, ami a fenti módon képes megállapítani, melyik elemen történt az esemény. innen már nem kell minden input-hoz külön eljárást írni, csak egyet a közös szülőjükre.
-
jeges
senior tag
válasz
Speeedfire #146 üzenetére
ha jól értem a kérdést, az esemény-kezelésre vagy kiváncsi. jq-ban több lehetőség is van. egy a sok közül:
$('.tbox').bind('focus',function(){
<code>
});
$('.tbox').bind('blur',function(){
<code>
});(csak arra kell vigyázni, hogy ezek a függvények módosítják a környezetet, azaz függvényen belül a 'this' már a $('.tbox')-ra fog mutatni)
-
Speeedfire
félisten
válasz
Speeedfire #146 üzenetére
Megszültem.
$(document).ready(function()
{
$(".hirnev").focus(function ()
{
var t= $(this);
t.attr('value',t.attr('value').replace('név...',''));
t.css('color', '#000');
t.css('border-color', 'green');
});
$(".hirnev").blur(function ()
{
var t= $(this);
if (t.val == ''){
t.val('value',t.attr('value').replace('','név...'));
}
t.css('color', '#777');
t.css('border-color', '#EEE');
});
});1 hátránya van csak, hogy ezt minden input mezőnél el kell játszani.
-
Speeedfire
félisten
Egy ilyet hogy lehet elegánsan megoldani, hogy ne inline js legyen?
<input class="tbox" type="text" name="search" value="Keresés az oldalon ..." title="Írd be a keresendő szót és nyomj ENTER-t !"
onfocus="if ( this.value == 'Keresés az oldalon ...' ) {
this.value = '';
this.style.color = '#B8B8B8';
this.style.borderColor = '#f90';
}"
onblur="if ( this.value == '') {
this.value = 'Keresés az oldalon ...';
this.style.color = '#B8B8B8';
this.style.borderColor = '#acacac';
}" />Ezzel próbálkoztam, de nem megy.
Ez egy másik projekthez lenne.$(document).ready(function()
{
$(".hirnev").onfocus(function ()
{
var t= $(this);
t.attr('value',t.attr('value').replace('név...',''));
});
$(".hirnev").onblur(function ()
{
var t= $(this);
t.val('value',t.attr('value').replace('','név...'));
});
}); -
jeges
senior tag
válasz
Speeedfire #143 üzenetére
$('#hirnev').css('border', '1px solid red');
upsz, lehet, ez nem megy.
helyette:$('#hirnev').css('borderStyle', 'solid');
$('#hirnev').css('borderColor', 'red');
$('#hirnev').css('borderWidth', '1px'); -
Speeedfire
félisten
Van egy input mező melynek a keretét megakarom változtatni, de nem akarja az igazságot.
$('#hirnev').attr('border', '1px solid red');
Az lenne a lényege, hogy a hirnev id-vel rendelkező mezőnek a keretét átállítja pirosra, de nem akarja.
-
martonx
veterán
ezt is érdemes használni, ha már a kódodat optimalizálod:
-
válasz
Brown ügynök #140 üzenetére
Több ezer sornyi kódnál már nem mind1!
-
Brown ügynök
senior tag
válasz
Peter Kiss #139 üzenetére
Valóban. 1 kb-al csökkent a kód.
-
Peter Kiss
őstag
válasz
Brown ügynök #138 üzenetére
Az 'input' és 'span' szavakat kiveheted a selector-okból, elég a #. Adott lapon azt az ID-t csak egy elem használhatja, nem kell feleslegesen túráztatni az értelmezőt.
-
Brown ügynök
senior tag
válasz
Peter Kiss #137 üzenetére
Igen, már megoldottam.
A végleges fv. így néz ki:
function changePartner1(partner1, id) {
var $selected = $(partner1).val();
var $url = $('input#searchAjaxPartner2').val();
var $span2 = 'partner2'+ id +'';
$.post($url, {partner1: $selected, id: id},
function(data){
if(data.length > 0) {
$('span#'+ $span2 +'').html(data);
}
});
} -
Peter Kiss
őstag
válasz
Brown ügynök #136 üzenetére
<div id="0">-t nem kellene használni.
$(span2).html(data); nem működhet, mert ez van a span2-ben: 'partner2'+ $id
A helyes hívás: $('#' + span2).html(data) -
Brown ügynök
senior tag
Úgy oldottam meg, hogy a 3 menüt befoglaló div id-jét adom tovább és abból képzem le a partner id-ket.
<div id="0">
<span id="partner10">
<span id="partner20">
<span id="partner30">
function changePartner1(partner1, id) {
var $selected = $(partner1).val();
var $id = id;
var $url = $('input#searchAjaxPartner2').val();
var $span2 = 'partner2'+ $id +'';
var $span3 = 'partner3'+ $id +'';
$.post($url, {partner1: $selected, span2: $span2, span3: $span3},
function(data){
if(data.length > 0) {
$(span2).html(data);
}
});
}Most már csak azt kell megoldanom, hogy meg is jelenjen. A $(span2).html(data);- val lesz a gond
-
jeges
senior tag
válasz
Brown ügynök #134 üzenetére
function foo(){
var s = 1;
bar = function(){ return s+1; }
s = bar();
return s;
}
ha meghívod foo()-t, az 2-t fog visszaadni, mert a bar() tudja, hogy s = 1, ehhez ad hozzá még egyet. ugyanezt megteheted az onchange, onclick eseményekkel is, mivel azok is csak függvények. csak arra kell vigyázni, hogy a this mást fog jelenteni, a "kívül" definiált változók belül is használhatók.
szerk: a fenti mintájára pl.
function valami(){
var span2 = document.createElement("div");
span2.id = "span2";
document.body.appendChild(span2);var lm = document.getElementById("elemem");
lm.onclick = function(){
document.body.removeChild(span2);
}}
lm.onclick tudni fogja, mit értesz span2 alatt, mivel azt "kívül" definiáltad már.
-
jeges
senior tag
válasz
Brown ügynök #132 üzenetére
egyébként oda is lehet, de ha jól értem, most erre nincs szükség, hiszen ajax hívással operálsz. úgy értem
<head><script type="text/javascript">obj.onclick = function(){}</script></head>
ehelyett:
<body><div onclick=""></div></body>előbbi esetben sokkal könnyebb követni a változókat szerintem, és könnyebb kihasználni az egymásba ágyazhatóság előnyeit is.
-
jeges
senior tag
válasz
Brown ügynök #130 üzenetére
nos igen, itt sztem meggondolandó, hogy ne inline .onclick-et használj
-
Brown ügynök
senior tag
Ez már tetszene az FF-nek, de a változó nevem mindig más lenne, nem úgy mint eddig:
function changePartner1(partner1, span2, span3) {
var $selected = $(partner1).val();
var $url = $('input#searchAjaxPartner2').val();
var $span2 = $(span2).attr('id');
var $span3 = $(span3).attr('id');
$.post($url, {partner1: $selected, span2: $span2, span3: $span3},
function(data){
if(data.length > 0) {
$(span2).html(data);
}
});
}A span2, span3 be lehet állítani változó nevűre... de az sem jó.
Pontosítok: Ekkor nem adódik át a span2-be span3 -ba a partner20, partner30
-
jeges
senior tag
válasz
Brown ügynök #127 üzenetére
ezek szerint ezt már próbáltad?
<select onchange="changePartner1(this, 'partner20', 'partner30' );" > -
Brown ügynök
senior tag
válasz
Brown ügynök #126 üzenetére
Tehát amikor megváltoztatom az első menű állapotát (changePartner1()) akkor már kész van a span2, span3-ba tölteni kívánt partner20, partner30 span (id).
-
Brown ügynök
senior tag
Az előző válaszomban láthatod, hogy az egy változó érték: span2 helyén span2id, span3 = span3id értékét adom át.
Amikor új partnert szeretnék felvinni akkor létrejön 3 span: partner10, partner20, partner30. Ebben a 3 span-ben van 3 legördülő menücske
. Amikor az első legördülőből választottam, végrehajtódik egy adatbázis lekérdezés és a visszatérő eredményt a partner20 span-en belül, egy legördülő menübe tölti.
Azért kell változó érték mert egyszerre több partnert is hozzáadhatnak és ekkor a span-k id-je változik: partner11, partner21, partner31,
partner12, partner22, partner32 stb. -
jeges
senior tag
válasz
Speeedfire #121 üzenetére
nem a színezés a lényeg, hanem hogy külön lehet definiálni, mit csináljon a cucc, ha sikeres a teszt vagy nem. az eljárások paraméterként megkapják a vizsgált elemet és a json-ban előre definiált (hiba)szöveget, ezzel azt csinálsz, amit akarsz. mindenesetre ha furcsállod a színezést, azér' nézd meg az elemek title-jét ellenőrzés után.
-
jeges
senior tag
válasz
Brown ügynök #120 üzenetére
nem teljesen világos: partner20 lesz az új elem id-je vagy ő maga a div, ami megjelenik? előbbi esetben macskaköröm közé tenném, utóbbi esetben viszont inline kód helyett inkább head-ben definiálnám az onclick-et.
-
Brown ügynök
senior tag
Akkor nem az FF a hibás? Megjegyzem a Chrome-ban működött és mintha FF4-ben is működött volna, erre nem emlékszem. Most FF5 van fent.
A függvény:
Span2, span3 értékek egy korábbi fv.-ből jönnek, melyben így adom meg őket:
var span2 = document.createElement('span');
span2.id = 'partner2'+ pct +'';
var span2id = span2.id;
var span3 = document.createElement('span');
span3.id = 'partner3'+ pct +'';
var span3id = span3.id;function changePartner1(partner1, span2, span3) {
var $selected = $(partner1).val();
var $url = $('input#searchAjaxPartner2').val();
var $span2 = $(span2).attr('id');
var $span3 = $(span3).attr('id');
$.post($url, {partner1: $selected, span2: $span2, span3: $span3},
function(data){
if(data.length > 0) {
$(span2).html(data);
}
});
} -
martonx
veterán
válasz
Brown ügynök #120 üzenetére
ennyiből nehéz megmondani.
Talán ha a changePartner1-et leírnád, mert a hiba nyilván abban lesz. -
Brown ügynök
senior tag
@jeges: Látom nagyon ráérsz.
Nemrég teszteltem IE-re és FF-re egy ajaxos funkciót és sajnos ezeken nem működik (Chrome-n igen).
jQuery vezriószám: 1.6.1
Ha az ügyfél választ a legördülő menüből akkor ez átadja a kiválasztott elemet és egy(-két) id-t (a következő megjelenő legördülő menü id-jét). Így néz ki kb.:
<div id="partner0">
<select onchange="changePartner1(this, partner20, partner30 );" >
</div>partner20 egy id, amivel a következő, megjelenő legördülő mező id-je lesz. Tehát még nem jelent meg de átadom a fv-nek hogy majd ha megjelenik, akkor ez legyen az id-je. A gond az, hogy a FF 5 erre hibát dob vissza: Nincs definiálva a partner20. Pedig az csak egy név, nem is kellene hogy bármit gondoljon róla az FF, majd a js-ben lekérem a hozzá tartozó értéket.
Miért csinálja ezt (velem) az FF 5?
-
jeges
senior tag
válasz
Speeedfire #117 üzenetére
kis segítség:
átírtam úgy, hogy az egyes ellenőrzések futtatása után az eredménytől függően végrehajtandó eljárásokat könnyebb legyen definiálni
(a példába egy egyszerű className-játékot és title-ban megjelenő hibaüzit tettem) -
jeges
senior tag
válasz
Speeedfire #117 üzenetére
én szóltam, hogy nem annyira egyszerű
de legalább működik -
válasz
Speeedfire #112 üzenetére
Milyen dolgot bonyolítok túl, amikor te is ugyanazokat írtad le, amiket én? (szerver, és kliens oldalon is ellenőrzöl).
-
jeges
senior tag
javított, kiegészített kód: formChecker
-
jeges
senior tag
válasz
Speeedfire #112 üzenetére
egy lehetséges megoldás:
html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title>teszt</title>
<style type="text/css">
#fm {width:500px;display:block;float:left;margin:0; padding:0;}
#fm label, #fm input {display:inline;float:left;position:relative;margin:0 0 5px 5px; padding:0;font:normal 12px Verdana;}
#fm label {width:200px; font-weight:700; text-align:right;}
#fm input {width:250px; text-align:left;}
#send {width:60px !important;font-weight:700 !important;text-align:center !important; margin-left:200px !important;}
#log {width:500px;height:100px;display:block;float:left;position:relative;}
</style>
<script src="rule.js" type="text/javascript"></script>
<script type="text/javascript">
myRule = {
first: {
sbj: "nm",
fnc: "nn",
prm: "",
msg: "A név kitöltése kötelező."
},
second: {
sbj: "yr",
fnc: "gt",
prm: 18,
msg: "Csak 18 év felett."
},
third: {
sbj: "yr",
fnc: "lt",
prm: 99,
msg: "Csak 99 év alatt."
},
fifth: {
sbj: "cn",
fnc: "rg",
prm: ["^hu","i"],
msg: "Csak magyar állampolgárok számára."
},
fourth: {
sbj: "cn",
fnc: "nn",
prm: "",
msg: "Az állampolgárság kitöltése kötelező."
}
}
window.onload = function(){
var sn = document.getElementById("send");
var fm = document.getElementById("fm");
var lg = document.getElementById("log");
sn.onclick = function(){
lg.innerHTML = "";
var fc = new formChecker(fm,myRule);
lg.innerHTML += "out: " + fc.out();
}
}
</script>
</head>
<body>
<form id="fm" name="fm" method="post">
<label for="nm">Name</label><input type="text" name="nm" id="nm" class="nm" value="name" />
<label for="yr">Age</label><input type="text" name="yr" id="yr" class="yr" value="age (years)" />
<label for="cn">Country</label><input type="text" name="cn" id="cn" class="cn" value="country (short, i.e. hu or en)" />
<input type="button" name="send" id="send" value="send" />
</form>
<br>
<div id="log"></log>
</body>
</html>js: (html-ben rule.js-ként hivatkozva)
function gotClass(obj,cl) {
var r = new RegExp("\\b" + cl + "\\b", "i");
var ob = ( typeof(obj) == "object" ) ? obj : $lm(obj);
if ( ob && ob.className && ob.className.match(r) !== null ) return true;
return false;
}
function firstChildofClass(p,cl) {
if (!p || !p.childNodes.length)return;
var ch = p.childNodes;
for ( var i = 0; i < ch.length; i++ ){
if (gotClass(ch[i],cl))return ch[i];
}
return;
}
function $fc(p, cl){
return firstChildofClass(p,cl);
}
function formChecker(fm,rule){
if (!fm) return;
this.fm = fm;
this.rule = rule;
this.res = [];
this.chk = function(){
var r;
for (var i in this.rule){
r = this.rule[i];
if ($fc(this.fm,r.sbj)){
var val = ruleCheck( $fc(this.fm,r.sbj) , r.fnc , r.prm );
if (!val) val = r.msg;
else val = "ok";
document.getElementById("log").innerHTML += "<br>val: " + val;
this.res.push(val);
}
}
}
// output
this.out = function(){
if (this.res.length < 1)this.chk();
var s = "";
for(var i = 0; i < this.res.length; i++ ){
if(this.res[i] != true)s += this.res[i] + "<br>";
}
return s;
}
}
function chk(obj){
this.v = (obj.value) ? obj.value : obj.innerHTML;
this.eq = function(b){
if (this.v == b)return true;
return false;
}
this.lt = function(b){
if (this.v < parseFloat(b))return true;
return false;
}
this.le = function(b){
if (this.v <= parseFloat(b))return true;
return false;
}
this.gt = function(b){
if (this.v > parseFloat(b))return true;
return false;
}
this.ge = function(b){
if (this.v >= parseFloat(b))return true;
return false;
}
this.nn = function(){
if (this.v.toString().length > 0)return true;
return false;
}
this.rg = function(b){
var bb = new RegExp(b[0],b[1]);
return bb.test(this.v);
}
this.exec = function(f, arg) {
var args;
return this[f](arg);
}
}
function ruleCheck(obj,f,prm){
if (!obj)return;
var c = new chk(obj);
return c.exec(f,prm);
}nem állítom, hogy tökéletes, de nagyjából működik
szabályokat json formában várja (ahogy a html-ben látszik)
az ellenőrző függvények persze bővíthetők, most csak néhányat írtam beleha kérdés merül fel, szólj
sry, jq-ban is lehetne, de nem akartam, mer' azér' a néhány getElementById-ért felesleges.
-
Speeedfire
félisten
-
martonx
veterán
sql injection ellen nem az update insert parancsokat kell tiltani, hanem a "--"-t és a ";"-t.
A js alapú XSS támadásokhoz meg (már ha később böngészőben megjeleníted valahol a user által beírt szöveget) a "/>"-t kell tiltani a szövegből.Egy tipikus SQL injection így néz ki ; select * from users --
A ; lezárja a spagetti kódot, a -- kommenteli az utána lévőket, és marad egy szépen végrehajtható sql-ed, amire jó eséllyel választ kapsz.Ha az SQL injection-t és az XSS-t kivédted, akkor már a vérpistikéket (és ez a többség) kivédted. Aki meg nagyon akarja, és elég profi az úgyis feltöri az oldalt.
-
válasz
Speeedfire #107 üzenetére
ha a textarea-ban van egy adott kifejezés akkor error
Ez nagyon jól hangzik, viszont nagyon kicseszel magaddal, ha ezt megjátszod. Milyen kifejezéseket tennél például bele?
Én egy zárt rendszernél mondjuk tiltottam a tipikus SQL kifejezéseket (update, insert, stb.) a felhasználónévből, jelszóból, stb., viszont egy nyilvánosnál ezt nem tudod megjátszani, különben a userek morogni fognak.
Egyébként
public rendszernéla js-en túl php-ban is ugyanúgy ellenőrizni kell mindent.Bár nem hiszem, hogy sokan módosítanák a html-ben ezt.
Már vérpisti szinten is simán megjátszható, hát akkor egy komolyabb cracker...
-
Speeedfire
félisten
milyen típusú ellenőrzésekre gondolsz? mennyire hagysz szabad kezet a felhasználónak, hogy beállíthassa saját ellenőrzéseit?
Konkrétan egy linkkatalógusom van és oda akarok 1-2 dolgot.
pl
-a textarea-ba min. 300 karakter kell
-minden mező legyen kitöltve
-ha a textarea-ban van egy adott kifejezés akkor error (itt valami tömbben lenne felsorolva pár adat)Nagyjából ennyi lenne, illetve ezeket már tudnám kombinálni is. Nem akarom, hogy a felhasználó módosítsa, de gondolom elég lenne ide egy js kódolás, nem kellene rejteni. Bár nem hiszem, hogy sokan módosítanák a html-ben ezt.
-
jeges
senior tag
válasz
Speeedfire #105 üzenetére
ez a téma szép, de ennyire nem egyszerű.
milyen típusú ellenőrzésekre gondolsz? mennyire hagysz szabad kezet a felhasználónak, hogy beállíthassa saját ellenőrzéseit?
a legegyszerűbb ellenőrzés pl a kitöltöttség, de ennél jóval bonyolultabbakat is el tudok képzelni:
- numerikus valóban numerikus-e (jellemzően regexp)
- numerikus nagyobb/kisebb egy megadott értéknél
- két numerikus input közül az egyik nagyobb a másiknál
- két dátum input közül az egyik nagyobb a másiknál
- szöveges input esetében valamilyen regexp ellenőrzés (pl név nem lehet rövidebb 3 karakternél, vagy legyen benne keresztnév és vezetéknév)szóval a megvalósítás nagyban függ attól, mi az elvárt működés, én személy szerint olyasmiben gondolkodnék, hogy a tárolt ellenőrzési szabályokat rekordonként egy tömbben vagy JSON objektumban tárolom, majd definiálok egy check vagy hasonló nevű osztályt/függvényt, és a megadott tömbön végiggyalogolva minden rekordra meghívom. ez a függvény aztán eldönti a megadott tömb alapján, hogy mit fog csinálni (regexp, numerikus összehasonlítás, dátumok összehasonlítása, stb)
-
Speeedfire
félisten
Közben kutattam...
$('#user-login-form').submit(function() {
// hibaellenőrzés, ha üres a felhasználó vagy jelszó mező, nem küldi el
var hiba = '';
if ($("#edit-name").val() == "") {
hiba += 'Üresen hagytad a "felhasználó" mezőt!\n';
}
if ($("#edit-pass").val() == "") {
hiba += 'Üresen hagytad a "jelszó" mezőt!\n';
}
// ha van hiba, figyelmeztetés, nem küldjük el
if(hiba != ''){
alert(hiba);
return false;
}
return true;
});Már csak az lenne az érdekes, hogy tömbből keres ki dolgokat és hasonlítja össze az input mezővel és ha tartalmazza akkor error.
-
Speeedfire
félisten
Segítséget szeretnék kérni pár form ellenőrzésére. Ilyesmikre gondolok, hogy egy adott kifejezés hányszor van az input mezőben, vagy az adott inputmezőben van-e egy adott kifejezés, amit mondjuk egy tömbből olvas be. Mindezt ha rákattintok egy submit gomba és jelez nekem, hogy gond van. Írna valaki 1-2 példát? Esetleg linket ha kezdő kérdés?
-
jeges
senior tag
nem igazán. a .html() nagyjából a js (dom) innerHTML tulajdonság értékét (azaz szövegesen az elem tartalmát, akármi is az) adja vissza. ellentétben a .val()-lal, ami nagyjából a js (ill dom elem) .value-t adja vissza.
inputoknak általában value-ja van (kivéve textarea pl.), div-nek, li-nek, és hasonlóknak inkább innerHTML.
a pontos használat jquery dokumentációban fellelhető (google-ban jquery + html/val) -
válasz
Brown ügynök #99 üzenetére
$('#cikkszam'+ ct +'').html(cikkszam_val);
A val() input tagnél használatos.
-
Brown ügynök
senior tag
Az ügyfél megrendelését szeretném megjeleníteni táblázatos formában. Az ügyfél beírta a kívánt termék paramétereit és rákattint a hozzáadás gomba. Azt szeretném ha ezután a rendelés, egy megjelenő táblázatban lenne összegezve. A kérdés: hogyan lehet beleirtani a cellába az értéket?
function plusProduct() { // a fv.
ct = 0; //számláló
var cikkszam_val = $('input#cikkszam').val(); // először lekérem az input mezőbe lévő adatot
//Ezután létrehozom a táblázat sorát és celláit:
var table = document.getElementById('order');
var row = document.createElement('tr');
row.id = 'termek'+ ct +'';
table.appendChild(row);
var cikkszam = document.createElement('td');
cikkszam.name = 'cikkszam'+ ct +'';
cikkszam.id = 'cikkszam'+ ct +'';
row.appendChild(cikkszam);
//majd próbáltam beleírni az értéket de biztos hogy nem ezzel a fv-el kell :
$('#cikkszam'+ ct +'').val(cikkszam_val);@Tapsi: Sejtettem, hogy nem bonyolult. Kösz!
-
Lacces
őstag
válasz
Brown ügynök #96 üzenetére
Köszönöm!
Tényleg, nem vettem figyelembe a class előtti " jelet amivel az id-t már alapból zárom... (és mindenképpen igyekeztem egyet még oda rakni). Köszi!
-
Lacces
őstag
Van ez a jQuery kód, és nem tudom elérni sehogy sem, hogy az id neve után egy számot rakjon...
Én annyit módosítottam, hogy a funciton()-be beraktam az i változót, illetve a div-ben deklaráltam egy id mezőt, de más nem
pl.: id="sub-container-2"
Ezt hogyan kéne módosítanom?
$('> li',$dcMegaMenuObj).each(function(i){
//Set Width of sub
var mainSub = $('> ul',this);
var primaryLink = $('> a',this);
if($(mainSub).length > 0){
$(primaryLink).addClass(defaults.classParent).append($arrow);
$(mainSub).addClass('sub').wrap('<div id="sub-container-'+[i]'"' ' class="sub-container" />'); -
Lacces
őstag
Köszönöm a sok segítséget! Majd még néha napján lesz egy-két kérdésem. Így végre kedvet kaptam a jQuery tanulásához. (De ehhez kellett a sok a segítő válasz!)
-
jeges
senior tag
hja, a többihez:
fejlesztőeszköz ízlés dolga, a js-hez sztem pont nincs szükség semmilyen komoly eszközre, én pl most kate-et (is) használok. debug-ra meg bármelyik böngésző kiegészítője alkalmas, a "nagyokat" általában úgyis végig köll nézni, működik-e a cucc.
chrome-on egyébként shft+ctrl+i, operán "elem kivizsgálása" a helyi menüben, ill. dragonfly telepítése után érhetők el a megfelelő funkciók.
szerver oldali munkában sokkal nagyobb segítség valami "rendes" fejlesztőkörnyezet (eclipse, netbeans).
de hangsúlyozom, hogy ezek csupán személyes tapasztalatok, kinek-kinek ízlése szerint. -
jeges
senior tag
lehet, hogy van némi fogalomzavar: ajax
ha elolvasod, látod, hogy az ajaxnak része a javascript (ill. valamilyen kód, ami adatot küld és fogad kliensen), így a jq eszközei is egy lehetséges ajax-megoldást alkotnak a kliens-oldalon. a kérdés tehát nem úgy merül fel, hogy ajax vs jq, hanem inkább jq vs dojo vs akármilyen js függvénytár (esetleg függvénytár nélkül, vagy - ezért lehet, többen megköveznek - akár flash).
ugyanakkor azt is látni kell, hogy az ajax nem a látványelemet, hanem a működést jelenti, amelyet jq-ban többé-kevésbé a $.ajax, $.get, $.post, $.load eljárások valósítanak meg. azaz nem attól ajax, hogy hogy néz ki a kosár, hanem attól, hogy milyen eljárással küldi-fogadja a kosár tartalmát a szerver felé. -
Lacces
őstag
válasz
Brown ügynök #88 üzenetére
jeges és Brown ügynök köszönöm a segítséget!
Firebug nekem nem jelezte... igaz javascriptre sosem használtam, de nem láttam volna érte, hogy visítana.
Google Chrome, nekem még új volt. Aztán feltűnt egy kis piros x, meg aztán egy másik ablak is, nagyon jó! Tetszik nagyon!
Bár arra még nem jöttem rá, hogyan lehet a CSS-hez új tulajdonságot beszúrni mint a Firebugnál.
Most már ezt is megtanultam.Amúgy mint fejlesztő eszközt jQuery-hez mit ajánlotok? Én most egy sima notepad++-ot használtam, de az lazán átugrott a hibán :-D
Ha ősztől lesz állásom, akkor kaptok egy karton sört, vagy amit szeretnétek :-)
Másik kérdésem:
Bevásárló kosarat érdemes jQueryvel megvalósítani? Vagy inkább Ajax-xal szokás?
Nézegettem a google-n 2 órán keresztül. Egy Drag and Dropos bevásárló kártya tutorialt találtam, de azt néhány lehurogták, hogy hasztalan meg borzalmas a kód (bár én kezdőként semmi rosszat nem találtam benne). A másik meg nem működött!
És észre vettem, hogy sok bevásárló kártya ajax-xal van megírva.
Most elgondolkotam azon, hogy érdemes-e jQuery-ben ilyet csinálni? (mert elég keveset láttam google-n, meg ami volt is olyan, hogy is mondjam, nem felhasználó barát)Érdekel ez ügyben a véleményetek!
-
Brown ügynök
senior tag
A "Calling jQuery UI plugin methods" fájlban kétszer lett megadva a <script type="text/javascript"> a javascript kód előtt, egyiket vedd ki.
Érdemes figyelni a böngészőbe épített fejlesztői eszközt (chrome, IE ) vagy Firebugot (FF), hasznos az ilyen js hibák felderítésekor.
Szerk.: Látom a mester is a Chrome fejlesztői eszközét használja.
-
jeges
senior tag
két script tag-et egymásra nyitottál, ezért már megnyitáskor elszáll (16. és 18. soron)
hol teszteled, milyen böngészőben? nincs debug eszközöd, ami mutassa a hibát? nekem chrome-on egyből kihozta, hol a bibi, és gondolom nincs ez másképp operán és ff-on sem (a "rendes" fejlesztőeszközökről már nem beszélve)
-
Lacces
őstag
Jeges! Vagy bárki aki ért a jQuery UI-hoz.
Kellene egy kis segítség!
Van ez a html oldal, ami jQueryt használ fel. De valamiért nem működik...
A shoppingcart-os weblap, az jó, ott működik a jquery, de a másik a Calling-jquery ... weblapon a jQuery nem működik, és nem tudom, hogy miért...és csak az ideg eszi az agyamat, és az asztalt tudom csak verdesni...
A két weboldal, ugyanazokat a jQuery js fájlokat tölti be, ugyanazokat a témák, de az egyik nem működik, a másik meg igen... és nem értem, hogy miért.
Hálás lennék ha valaki elmondaná, hogy mi a bibi.
-
jeges
senior tag
válasz
Brown ügynök #83 üzenetére
én az csinálnám, hogy a selectnek adnék classt vagy id-t
ha ez megyvan, akkor pedig$(".selectclassname").children("option").each()
$("#selectid").children("option").each() -
Brown ügynök
senior tag
Nem írják, ezzel próbáltam és nem működött: $('option.class').each()
Közben rájöttem, hogy ez (lásd lent) ua. csinálja mintha each()-tem volna: érték alapján választja ki az option-t (ami akkor nem jó ha több uo. értékű option van az oldalon)
if($('option[value="'+ tcs +'"]').val() == tcs )$('option[value="'+ tcs +'"]').attr("selected", "selected");
Szóval, hogy alakítsam át ezt hogy az option osztályt is bevegyen a feltételbe?
var val = <keresett érték>;
$("option").each(function(){
if( $(this).val() == val )$(this).attr("selected", "selected");
else $(this).removeAttr("selected");
}); -
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
és még egy megjegyzés (mely azonban nem csorbítja a megoldások értékét):
if($('option[value="'+ tcs +'"]').val() == tcs )$('option[value="'+ tcs +'"]').attr("selected", "selected");
itt sztem nincs szükség az if-re, ezzel ugyanazt éred el:
$('option[value="'+ tcs +'"]').attr("selected", "selected");
if a többi option kijelölésének feloldásához kell(het), ahol a value nem tcs.
-
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
hol írják ezt a korlátot? én nem találtam.
szerk: sőt, ez arra utal, hogy normál kijelölők simán használhatók ("When called it iterates over the DOM elements that are part of the jQuery object.")
közben kipróbáltam, simán megy bármilyen selectorral....
-
jeges
senior tag
válasz
Brown ügynök #79 üzenetére
+ megjegyzés: ha összetett kijelölő nem megy, használhatsz pl. children()-t:
$(".selectClass").children(".optionClass").each(function(){ <code> });+ megjegyzés: ezt csak "vakon" mondom, de szerintem nincs nagy különbség a halmazzal visszatérő kijelölő és az each() között gyorsaságban, mivel így is úgy is végig kell mennie a programnak az összes opción.
-
Brown ügynök
senior tag
Igen, a (this) volt a ludas. Tehát helyesen:
if($('option[name=" tcs"]').val() == tcs )$('option[name="tcs"]').attr("selected", "selected");
vagy egyszerűbben, ha ismert az option értéke (ezt tároljuk a tcs-ben):
if($('option[value="'+ tcs +'"]').val() == tcs )$('option[value="'+ tcs +'"]').attr("selected", "selected");Az each() fv. nél csak attribútumot lehet megadni, (ahogy itt olvastam : [link] ) nem lehet így megadni pl. $('option.class').each()
-
jeges
senior tag
válasz
Brown ügynök #77 üzenetére
a select-nek lehet külön id-t vagy class-t adni, az meglehetősen egyértelmű szokott lenni
én így csinálnám:
$(".optionClass", ".selectClass")de css-szerűen is lehet:
$("option.optionClass")a [name=] kijelölőnek is működnie kellene, de egyáltalán nem vagyok meggyőződve róla, hogy a $(this) jól működik, mivel az if() önmagában nem módosítja a $(this) értékét. pont ezért jó az each(), mert a benne foglalt callback függvényben már lehet hivatkozni az aktuális elemre.
-
Brown ügynök
senior tag
Újabb probléma. Ez a fv. addig jó, míg nincs két ua. értékkel ellátott option, természetesen külön selectben. Olyan megoldás kellene amivel az option class-ra vagy name-re tudnék hivatkozni azután megvizsgálni az értéket. Ezzel próbálkoztam, each() nélkül:
if($('option[name=" tcs"]').val() == tcs )$(this).attr("selected", "selected");
if($('option[class=" tcs"]').val() == tcs )$(this).attr("selected", "selected");Ennek nem kéne működnie?
-
Lacces
őstag
Jeges, vagy bárki más :-)
http://jqueryui.com/demos/slider/#range Van ez a ranger-es slider (csúszka). Nekem nagyon tetszik. Viszont ahogy elemeztem a példát is, (meg keresgéltem a google-n, de sikertelenül)
Engem egy olyan megoldás érdekel, hogy a két érték, amit mutat, azt ne egy inputba mutassa, hanem kettőben!
Erre lennék kíváncsi kód szinten. Ugyanis gondolom ez a 2 input értéke felhasználható lenne egy php fájlban, ahol mondjuk, keresést hajt végre, hogy két érték közé eső objektumokat keressen.
Konkrétan: ár csúszka. A két szélső érték eső árú termékeket jelenítse meg. Na erre vagyok kíváncsi, egy ilyen hogy néz ki kód szinten. Vagy iránymutatás, hogyan nézz ki. (csak a jquery és max a html kód érdekel hozzá)
-
jeges
senior tag
válasz
Brown ügynök #71 üzenetére
ugyanígy, csak loop-olsz az option tageken
ill jq-ben .each() talán komfortosabb:var val = <keresett érték>;
$("option").each(function(){
if( $(this).val() == val )$(this).attr("selected", "selected");
else $(this).removeAttr("selected");
}); -
Brown ügynök
senior tag
-
jeges
senior tag
válasz
Brown ügynök #69 üzenetére
option tag selected tulajdonságát állítsd be
(mondjuk arra nem árt figyelni, hogy a többi option-nek ne legyen selected tulajdonsága, ha nem választható ki több elem egyszerre)dom-ban ez valahogy így néz ki:
<select size=1>
<option name='opt1' id='opt' value='1'>1</option>
<option name='opt2' class='opt' value='2'>2</option>
<option name='opt3' class='opt' value='3'>3</option>
</select>és a kijelölés:
$('#opt').attr('selected','selected');a többre pedig:
if($('.opt').attr('selected'))$('.opt').removeAttr('selected'); -
Brown ügynök
senior tag
Meg lehet azt oldani, hogy jQuery-vel kiválasztjuk a <select> egy <option>-jét? Input mezőt fel lehet tölteni adattal : $('input#termekcsoport').val(termekcsoport);.
Nos, ilyesmire lenne szükségem, csak éppen egy legördülő menü egy elemét kellene kiválasztani.
-
Lacces
őstag
Aham próbálgatom itt a példát, és közben értelmeztem amit te mondtál melléje, így értem. Ha tényleg csak véletlenül kattintott oda, és akkor közben kijelöli a rádiógombot és tovább halad az űrlap kitöltésével, akkor az marad kijelölve. (Például felette már kijelölt egy rádiógombot csak véletlenül, abba a szövegmezőbe is belekattint és akkor annak a rádigombját jelöli ki a jQuery). Köszönöm!
-
jeges
senior tag
ha jól értrm, a text input onfocus eseményére kellene beállítani a kívánt radio checked tulajdonságát (tkp bármire lehet, de a legjobb 'checked' vagy true)
a html struktúra nélkül nem könnyű pontosat mondani, de valami ilyesmi:
$inputTxt.bind('focus',function(){
$radioBtn.attr('checked','checked');
});megjegyzem, nem véletlen sztem, hogy az onblur indítja a check-et, mint a kommentben is írva van, előfordulhat, hogy a user mégsem akarja szerkeszteni, csak véletlen kattintott oda. ezt az esetet nem árt kezelni, mivel ha már a focus-ra kijelölsz, az nem kívánt eredményre vezethet.
-
Lacces
őstag
Ezt a programkódot láttam.
Csak hogy van vele egy bajom... hogy ha az other radiobuttonbe ír (amelyikhez tartozik szövegbevitel mező ( a többihez nem)), akkor nem jelöli ki egyből azt a rádiogombot. Csak akkor ha befejeztem a szöveg írását és ki kattintok belőle.
Hogyan tudom úgy átírni a kódot, hogy amikor éppen írnak bele szöveget, már akkor kijelölje a radiogombot?
$(document).ready(function(){
// find any text input in chooseSource list, and cycle through each
$('#chooseSource input:text').each(function(){
// these are both used twice, let's store them to be more efficient
// the text input
var $inputTxt = $(this);
// the associated radio button (az input text-hez tartozó radio button hozzáadása)
var $radioBtn = $inputTxt.siblings('input:radio');
// listen for the blur event on the text input
$inputTxt.blur(function(){
// if text input has text
if ( $inputTxt.val() !='' ) {
// select radio button
$radioBtn.attr('checked',true);
}
}).trigger($radioBtn.change);
// listen for the change event on the radio button
$radioBtn.change(function(){
// if it is checked, focus on text input
if ( this.checked ) { $inputTxt.focus(); }
});
}); // close each()
}); -
jeges
senior tag
csak sorban:
var event = jQuery.event - ez pontosan mit akar itt jelenteni? Melyik esemény megy bele az event változóba?
a jQuery.event objektum kerül az event-be (rövidebb, átláthatóbb)
setup() miért false-al tér vissza?
a return false itt az alapértelmezett működést akadályozza meg. bővebben: [link]
teardown() na az mi? és ott is miért fasle-al tér vissza?
a return false itt is ugyanezt jelenti, mint a többi esetben.
na és itt handler() miért van?
lásd a lenti linket
var az változót definiál, de én még nem láttam soha sem ezt a sort: var auto = false, id; ez most micsoda? Két értéket adok meg egy változónak?
két változót egy var-ban definiál, csak az egyiknek értéket is ad
Az algoritmusát valaki eltudná nekem magyarázni?
Illetve a bind('start', start) - ennél a 'start' a start egy javascript event type lenne? Nézegettem javascriptes event type-kat de nem találtam meg konkrétan a start vagy stop-ot, de click, mouseover és társait megleltem.az event.special alapjairól, működéséről itt olvashatsz.
-
Lacces
őstag
Az már biztos, hogy én életben tartom a jQuery topicot :-D
Van ez a kód lentebb, az már biztos, hogy inkább jquery felhasználó leszek, és eseményeket ritkán fogok programozni. Inkább plugin használat, ui, css
Kérdéseim:
var event = jQuery.event - ez pontosan mit akar itt jelenteni? Melyik esemény megy bele az event változóba?setup() miért false-al tér vissza?
teardown() na az mi? és ott is miért fasle-al tér vissza?
na és itt handler() miért van?
Könyv sem írt magyarázatot hozzá, de nem is nagyon várok, ha nem tudtok rá adni választ, de érdekel a miértje.
$('tr').bind('selected',function(){
$('tr').removeClass('selected');
$(this).addClass('selected');
});
(function($){
// Save these to make the code shorter
// Don't do this within the global scope
var event = jQuery.event;
var $selected = event.special.selected = {
setup:function( data ){
event.add(this, 'click', $selected.handler);
return false;
},
teardown:function(){
event.remove(this, 'click', $selected.handler);
return false;
},
handler:function(){
var $elem = jQuery(this);
if( !$elem.hasClass('disabled') )
$elem.triggerHandler('selected');
}
};
})(jQuery);További kérdéseim:
var az változót definiál, de én még nem láttam soha sem ezt a sort: var auto = false, id; ez most micsoda? Két értéket adok meg egy változónak?
Az algoritmusát valaki eltudná nekem magyarázni?
Illetve a bind('start', start) - ennél a 'start' a start egy javascript event type lenne? Nézegettem javascriptes event type-kat de nem találtam meg konkrétan a start vagy stop-ot, de click, mouseover és társait megleltem.
példa élőben illetve ezen a linken van a hozzákapcsolód példa, ennél a kérdésem, hogy honnan szedi ki a képeket? Mert HTML tageknél nem látom a slideshow képeit (csak a vezérlőket) Honnan nyeri ki a képeket, amiket manipulál?
( a lentebbi kódrészlet meg itt van: [link])var auto = false, id;
function start(){
stop();
auto = true;
id = setTimeout(next, options.interval || 2000);
}
function stop(){
auto = false;
clearTimeout(id);
}
$img.bind('start', start).bind('stop', stop); -
jeges
senior tag
"Ja, és jquery-vel le tudod kérdezni a böngésződ verzióját, javaslom ennek függvényében írj két különböző kódot. Az egyik fog futni Chrome-on, a másik meg máshol"
ezt én nem javaslom, inkább egy, de mindenhol működő kódot célszerű írni, mert egy idő után követhetetlen, mi miért került bele. az ilyen böngésző-függő cuccokra a jquery is nagyon odafigyel, ha valami tényleg nem ugyanúgy működik két böngészőben, érdemes nekik bejelenteni, hátha javítják. úgy emlékszem egyébként, hogy a böngésző verzió lekérdezést ők sem ajánlgatják nagyon, vagy legalábbis nem működés vezérlésére (középtájt írják)
-
martonx
veterán
tudod a html - js - sql - valamilyen háttér nyelv (php, .net, ruby) kombóban fejlesztés olyan méretű szopás halom, amekkora más nem létezik. Ezért tud létezni a Flash és a Silverlight. Bizony nincs mit tenni, mint várni, hogy egyszer hátha egységesebbek lesznek a böngészők, illetve a html5 hátha hoz valamiféle javulást.
Addig pedig gyakorolni, türelemmel lenniJa, és jquery-vel le tudod kérdezni a böngésződ verzióját, javaslom ennek függvényében írj két különböző kódot. Az egyik fog futni Chrome-on, a másik meg máshol.
-
Lacces
őstag
Most jött el az a pillanat, hogy felgyújtanám azt a könyvet amiből tanulok....
Most ismét elindítottam azt a sz*os weblapot, és ment az animate, kinagyította semmit sem írtam át... ment!
Erre meg az explode nem megy... eszem megáll... nem értem... ha meg a legújabb jquery-ui-t teszem be, akkor meg meghal...
[link] itt a példa. Itt nem megy az animate, gépemre letöltve, megy... viszont az effect nem megy... nem értem. Ez nem determesztikus működés már...
effect a leírása jqueryui.com-on található meg!
Megvan az összefüggés:
Ha egyszer a html-ben a jquery forrás linkját átírom a legújabb 1.8.14-re, akkor működik az animate! viszont az effect() az explode, nem megy végre. De ha visszírom is 1.7.xxx-re akkor úgyanúgy "bent ragadhat valahogy a kód", mert onnantól kezdve az effect() ismét nem működik, csak az animate()...
Ha visszont nem piszkálom meg az eredeti 1.7.xxx-t akkor az marad érvényben. És csak az effect() működik
Próbáltam úgy is, hogy a Chrome-nak a gyorsító tárát töröltem, de akkor sincs változás az 1.8.14-ről... Valamiért ha egyszer beírom oda a legújabbat, akkor az nyista... nem műxik többé.
Amúgy kipróbáltam az 1.7.xxx jquery ui-val, amit te mondtad, hogy toggleClass()-t átállítottam true-ra és akkor ment!
Érdekes, hogy a legújabbal megy a toggleClass() , hogy ha true helyett a sebességet adom meg, de az explode() már nem.
Köszönöm a segítséget!
-
jeges
senior tag
a toggleClass()-nak szerintem csak az osztály(ok)ra van szüksége, a 2000-et talán true-ként tudja értelmezni, de nem biztos, hogy a várt hatást éred el. nem .toggle()-ra lenne szükséged? - szerk: nem, látom, valóban .toggleClass() kell, de a 2000 helyett true-t próbálj meg írni ([link])
lehet, én vagyok lemaradva, de .effect() eljárás van egyáltalán? én ilyen szintaxist találtam hozzá:
selector.hide|show|toggle( "explode", {arguments}, speed ); -
Lacces
őstag
Sziasztok!
Észre vettem egy furcsaságot ezzel a példa kóddal kapcsolatban!
Chrome alatt az animate gomb által végrehajtandó függvény, nem fut le!
Viszont megnéztem IE9 alatt is, ott simán lefut. Ez mitől lehet?Hogyan lehet kompatibilissá tenni?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Chapter 6 - Recipe 10</title>
<link rel="stylesheet" href="chapter6.css" type="text/css" media="screen">
<style type="text/css" media="screen">
.big {
font-size: 400%;
width: 500px;
height: 500px;
line-height: 100%;
}
</style>
<script src="jquery-latest.js" type="text/javascript"></script>
<script src="jquery-ui-1.7.1.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#animate').click(function () {
$('.box').toggleClass('big', 2000);
});
$('#effect').click(function () {
$('.box').effect('explode', null, 2000);
});
});
</script>
</head>
<body id="single">
<h1>Using jQuery UI for advanced effects</h1>
<input type="button" id="animate" value="animate" />
<input type="button" id="effect" value="jQuery UI effect" />
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
</body>
</html> -
jeges
senior tag
-
Lacces
őstag
Ennél, miért kell az each() függvény?
$(document).ready(function(){
var lis= $("ol li").get().reverse();
$("ol").empty;
$.each(lis, function(){
$("ol").append("<li>" + lis.innerHTML + "</li>")}
-
Lacces
őstag
Sziasztok!
Ez miért nem működik? Mit nézek be? Nem jöttem rá magamtól, de each()-el megy, hogy if elágaztatással, de így simán valamiért nem működik.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
(function($){
$(document).ready(function() {
$("ul > li:odd").addClass("odd");
$("ul > li:even").addClass("even");
});
});
})(jQuery);
</script>
</head>
<body>
<h2>Family Members</h2>
<ul>
<li>Ralph</li>
<li>Hope</li>
<li>Brandon</li>
<li>Jordan</li>
<li>Ralphie</li>
</ul> -
Lacces
őstag
válasz
Brown ügynök #45 üzenetére
Köszi!
-
Lacces
őstag
A jQuery-ben a $ - ez pontosan mit jelent?
Nem tanultam előtte komolyabban JavaScriptet, sem jQuery-t csak fogtam magam a w3school.com -on a jQuery-t elvégeztem, és a könyvtárból kivettem a jQuery Receptek című könyvet, amiből a példákat értem még.
$ - erre a könyv csak annyit írt, hogy álnév használata, globális ütközések elkerülésére... és nem tudtam onnan felfogni, hogy most ez mit is akart jelenteni.
Én online azt vettem ki a példakódokból, hogy a jQuery szót helyettesíti, annak a rövidebb változata.
-
Sk8erPeter
nagyúr
Ez a "disznók elé gyöngyöt" elég jó hasonlat volt jelen esetben.
Hát köszi, nem egyszerű megmaradni ilyenkor a kulturált stílus keretein belül, de a legrosszabb, ha az ember lesüllyed arra a szintre, ahol legyőzhetik az ott tartózkodó emberek a rutinjukkal.
Már párszor szóltam a srácnak, így a szemében én lettem a rohadék megmondóember, ami mondjuk nem túl jó szerep, valószínűleg ez nem tetszik neki, dehát legalább meg kell próbálni terelgetni az embereket a netikett felé, hátha... Amúgy teljesen igazad van, néha nem érdemes válaszra méltatni az ilyen jellegű hsz.-eket. -
martonx
veterán
válasz
Sk8erPeter #41 üzenetére
Csak annyit fűznék hozzá, hogy az idő általában engem igazol.
A komplett hülyékkel általában kár értelmes hangnemben megpróbálni beszélni. Egyszerűen nem érdemlik meg, disznók elé gyöngy szórás esete.
Aztán persze van köztük olyan, aki fejlődőképes, ők később el tudnak jutni arra a szintre, hogy egyáltalán van értelme meghallgatni a problémájukat (mondjuk köszön, értelmesen leírja a problémáját, beteszi a kódrészletet, megköszöni a segítséget ilyesmiket nevezek fejlődésnek).
Részemről maximális respektet érdemelsz a türelmed miatt! -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #40 üzenetére
Mellesleg ubid, majd szólj, ha esetleg mégis érdekel a konkrét válasz, hogy miért is nem működött az általad említett böngészőkben, nálam sikerült működésre bírni. Csak kicsit normálisabb stílusban légy szíves.
-
Sk8erPeter
nagyúr
"Veled mindig össze kell akadnom ?"
Pontosan ezt a kérdést tettem fel magamban én is, amikor megláttam a szokásos stílusú hsz.-edet.
Mellesleg milyen érdekes, másoknak sokat tudtam segíteni, mert ők normálisan tették fel a kérdéseiket, vagy legalább visszakérdezésre, esetleg arra irányuló kérésre, hogy fejtsék ki jobban, rakjanak fel konkrét kódot, nem nekik állt feljebb, hanem aktívan közreműködtek a SAJÁT problémájuk megoldásában..."ODA VAN LINKELVE MINDEN CSAK NYISD KI A SZEMED!"
Először is gratulálok a stílushoz (mely ugye maga az ember).
Másodszor ezek szerint már magát a választ sem érted. Nem azt mondtam, hogy nincs ott a cím, ahonnan a plugint letöltötted (mellesleg nem linkelted be, ahhoz használni kellene a Link gombot is - te csak címet másoltál be), hanem azt, hogy nem látjuk azt a kódot, amit te egész konkrétan használtál.
Lehet, hogy számunkra is segítene a gyorsabb segítségadásban, mert nem nekünk kéne kibányásznunk a szükséges kódot, könnyen lehet, hogy pl. még mi sem használtuk az adott beépülőt, de ha te bemásolnád a kódodat, akkor azt felhasználva tudnánk segíteni a feladat megoldásában, a kód debuggolásában - pl. a te kódodat csak simán kimásolnánk, és kipróbálnánk saját környezetben; de így totálisan kód nélkül csak annyit tudunk tenni, hogy kimásoljuk a hivatalos oldalról a működő kódot."Senki nem mondta hogy rossz a kód"
Tudom, hogy nem mondtad, de attól még véletlenül kerülhetett bele hiba, olyan is előfordul néha, hogy a demók oldalára tesznek fel véletlenül apró hibát tartalmazó kódot."De neked válaszolnod se kell. Hanyagold!"
Rendben, ez menni fog.
Bár próbálgattam a lejátszót, ha már szó volt róla, de azt mondtad, ne segítsek.Mégis egy gyorstippet azért adok, hátha előrébb visz: a support oldalon lehet hasznos infókat találni az esetleges problémákról: [link], amelyek lehetnek multimédia-kódolással és böngészőtámogatottsággal kapcsolatosak... Utóbbiak a kulcs a dologhoz, de azt mondtad, ne adjak konkrét segítséget, OK.
Szerk.: ja, és még egy: HASZNÁLD a "Válasz" linket, amikor bárkinek a hsz.-ére reagálsz, mert így csak kitalálni lehet, épp kinek adtál választ (amikor több hsz. is születik a tiéd és valakié közt, nehéz eldönteni, persze speciel nem épp most).
Még egy tanács: ezzel a stílussal nem sokra fogsz menni a Prohardver fórumain, senki nem szeret olyasvalakinek segíteni, aki egyszerűen nem hajlandó még külön többszöri kérésre sem saját kódot mellékelni (nem is tudom, hányszor kellett neked szólni, hogy ne úgy tegyél fel kérdést, hogy az ember csak a sötétben tud tapogatózni), ami alapján eldönthető lenne, hol van a hiba, ráadásul sokszor igen érdekes stílusban reagál, és nem tűnik aktív közreműködőnek a probléma-megoldásban.
-
ubid
senior tag
Veled mindig össze kell akadnom ?
ODA VAN LINKELVE MINDEN CSAK NYISD KI A SZEMED!
Senki nem mondta hogy rossz a kód... annyit mondtam hogy saját linkkel nem működik !
Szedd le, nyisd meg, próbáld ki aztán meglátod.
De neked válaszolnod se kell. Hanyagold!
-
Sk8erPeter
nagyúr
Rossz hírt kell közölnöm, még mindig nem vagyunk látnokok, hogy kitaláljuk, mit ronthattál el, ha nem mutatod meg a kódodat...
Könyörgöm, ne szemetelj már tele minden topicot a pontosan ugyanilyen jellegű kérdéseiddel kód nélkül (kábé az összes kérdésed ilyen: "nem működik, mi lehet a baj?").
HIdd el, nagyon szívesen segítünk, de gondolj bele egy kicsit, szerinted egy autószerelő hogyan tudná megjavítani az autó hibáit, ha még csak nem is látta a kocsit? -
ubid
senior tag
Helló!
Egy kis segítségre lenne szükségem.
Egy weboldalra akarok berakni egy zenelejátszót.
http://www.jplayer.org/download/
Ezt választottam.
Viszont ugye ebbe a saját direkt link van beszúrva, nem így mappázva mint a képek mondjuk.tehát pl : www.jplayer.com/audio/ ezaneve.mp3
és így fut nagyon vagányan.
ha javítok rajta és egy sajátot akarok berakni. abból a mappából ahonnan az oldal fut, mondjuk : rock.mp3 akkor már csak a chrome böngésző veszi az adást. ez le is játsza.
viszont se a mozzila 4 se az IE 9 nem viszi!Valakinek valami ötlete hogy hogy lehetne rábírni a böngészőket hogy futtassák ?
köszi!
-
tildy
nagyúr
huha de beindult a topic, na at is olvasom
Amit tudok javasolni, kezdjetek el pluginokat irni, sokszor hasznos.
$.fn.clickPopup = function(optionclass){
$(this).append("<div class='"+optionclass+"'></div>");
$("."+optionclass+"").delay(1100).fadeOut(800,function() { $(this).remove(); });
};Ez egy pelda, amelz hozzaad egy classt az oldalhoz, x ido mulva pedig kiszedi azt.
Mikor hasznos: ha peldaul sajat magad altal krealt felugro boxot akarsz, ami elhalvanyodik es eltunik. ( nekem saved-et ir ki. ) -
ubid
senior tag
válasz
Sk8erPeter #34 üzenetére
Rendben van!
Kipróbáltam, így tényleg működik!
Köszönöm a segítséget!
-
Sk8erPeter
nagyúr
Kétszer include-olod a jQuery-t, meg kétszer szerepel a $(document).ready... rész.
Elsőre vonatkozóan:
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
.......
<script type="text/javascript" src="js/jquery.js"></script>Döntsd el, melyiket használod, pl. használd az elsőt csak, utóbbit egyszerűen szedd ki a kódból.
Valami ilyesmi legyen a kódod (a <head> részbe kerüljön!!):
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script>
<script type="text/javascript" src="js/jquery.easing.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#scrollbar1').tinyscrollbar();
$('#example2').lofJSidernews({
interval: 4000,
easing: 'easeInOutQuad',
duration: 1200,
auto: true
});
});
</script>És használd a Programkód gombot, hogy áttekinthetőbb legyen a kódod. :) Miután beillesztetted a kódodat, jelöld ki, majd mehet a Programkód gomb.
-
ubid
senior tag
Helló!
Újra segítségre lenne szükségem.az oldalon szeretnék 2 scriptet is futtatni, de valamiért vagy cska az egyik megy...vagy egyik se... olyan hogy mind a kettő olyan nincs...
így néz ki :
ez az első... egy scrollbar
<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery.tinyscrollbar.min.js"></script><script type="text/javascript">
$(document).ready(function(){
$('#scrollbar1').tinyscrollbar();
});
</script>ez pedig a második :
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.easing.js"></script>
<script type="text/javascript" src="js/script.js"></script><script type="text/javascript">
$(document).ready(function(){
$('#example2').lofJSidernews({
interval: 4000,
easing: 'easeInOutQuad',
duration: 1200,
auto: true
});
});</script>
ha ezt így berakom egymás alá akkor ahogy ide bemásoltam akkor az első, tehát a scrollbar megy....
ha megfordítom :
akkor csak az első megy.hogyan lehet azt megcsinálni , hogy mind a kettő fusson egyszerre ,? ? ?
Köszi a segítséget előre is!
-
zserrbo
aktív tag
Látom igazi vita robbant ki a kérdésem kapcsán
Amúgy van a gépemen IE9, FF, Opera és Chrome is firebuggal és az Opera beépített Dragonfly webfejlesztő eszközével. Szóval nem ismeretlen előttem a fogalom. Mindössze annyi van, hogy nem tanultam meg még rendesen kihasználni a bennük rejlő lehetőségeket. Pl. a DOM fület eddig nem nézegettem. Sima JS-ben nem programoztam kb. semmit, rögtön jquery-vel kezdtem. Olvastam a neten ki mit ajánlj és többek szerint nyugodtan kezdhet vki rögtön egy keretrendszerrel is. Pár hónapja be is vásároltam a jquery receptek könyvből, mivel más jquery-s könyvről nem tudok, ami magyarul megjelent volna. Noha már ebben is van leg.egy depreceted rész (sajnos mire lefordítanak egy könyvet magyarra telik az idő) Tovább most nem részletezem a könyvet.
Szóval oké, hogy tudatosítani akartad bennem mennyire jók ezek az eszközök, de a problémámat nem oldotta meg. Jelenleg egy honlapot kell készítenem beadandónak és szeretnék vmi normálisat készíteni és nem csak összehányni. Az én kódom nem ment és most, hogy több variációt kaptam az remélhetőleg hasznomra válik. Mivel sürget az idő és nem csak egy zh-m van így egyet berakok ami megy a többit megnézem később.
A web developer tooloknak megpróbálok vmikor utánanézni jobban, remélem találok jó leírásokat hozzá magyarul is, mert sajnos az angol még nem megy a legjobban. Majd pótolom ezt a hiányosságomat is.Még1x kösz a segítséget!
-
Sk8erPeter
nagyúr
"az Operáéról sem szóltam, de hát ki használ Operát?"
Pl. én...és azt hiszem, még jópáran... Ez milyen hozzáállás már?
Fejlesztőként főleg szégyen így hozzáállni...
Statisztika w3schools szerint: [link]
Nyilván az a 2,6% teljesen elhanyagolható...Szerk.: "már rég megoldotta a segítségem alapján"
ja igen, nyilván a Te segítséged olyan mértékben hatékony volt, hogy a jövőben is mindenki problémáját meg fogja oldani.
Némi egoizmus sugárzik a hsz.-eidből, már bocsánat.
De nem akarlak téged meggyőzni semmiről, csak valahogy olyan stílust alkalmazol, amitől az embernek néha feláll a szőr a hátán. -
martonx
veterán
válasz
Sk8erPeter #28 üzenetére
Az első hozzászólásomban felsoroltam a web developer eszközöket. Így utólag visszaolvasva kihagytam az IE fejlesztői eszközét, rendben akkor legyünk percízek F12 indítja
az Operáéról sem szóltam, de hát ki használ Operát? Nem linkeltem be őket, való igaz, nem magyaráztam el a használatukat, való igaz. De ezek azért nem ördöglakatok, elég gyorsan rájuk lehet érezni, tengernyi tutorial, dokumentáció mutatja be őket, a velük való javascript debugolást.
Én még a mai napig sem érzem magam jó programozónak, bár fejlődök-fejlődgetek.
És pont magamból kiindulva, a web developer eszközökkel azon segítettem emberünknek, hogy gyorsabban fejlődjön.
De kezd parttalan lenni ez a vita, valószínűleg már rég megoldotta a segítségem alapjánemberünk a problémáját, mert azóta nem jelentkezett.
Szerintem kimondottan visszafogottan fogalmaztam, visszaolvasva magamat, továbbra sem érzem leoltó hangnemnek. Maximum az alertes beköpésénél egy fokkal ingerültebben jeleztem emberünknek, hogy többre menne normális web fejlesztő eszközökkel, mert 2011-et írunk -
Sk8erPeter
nagyúr
Egy kezdőnek nem olyan könnyű ráállnia ezen dolgok használatára, ezt Te is tudhatnád, nyilván Te sem voltál vérprofi, amikor elkezdtél foglalkozni a dologgal, kezdetben nyilván rengeteg kérdés merült fel benned, rengeteget gányoltál, olyan kódokat kreáltál, amiken utólag, több tapasztalat birtokában már csak nevettél, és volt olyan, amire valahogy nem akart ráállni az agyad, aztán amikor végre rájöttél a megoldásra, vagy épp rávezettek, esetleg megmondták a megoldást, olyat csaptál a homlokodra, hogy ott maradt a tenyered helye...ezeken a fázisokon szerintem minden kezdő átesik.
Néha sokkal többet ér az a segítség, amikor valaki megmutatja neki azt a lehetséges megoldást, amivel sokkal egyszerűbben megoldható az egész (szerintem én és jeges is törekedtünk erre).
Te valóban beszéltél web developer eszközökről, de nem mondtad el, egyáltalán hol találja, hogyan kellene azt használni (ha már...!), csak furcsa stílusban érzékeltetted, hogy türelmetlen vagy: "Na ne hülyéskedjünk már alertekkel 2011-ben. A te érdekedben, könyörgök nézd már meg egy web developer eszközzel." Hát ez valóban nagy segítség.Meg ez is: "Az, hogy szerinted mi hajtódik végre az ifnél az egy dolog.", stb.
Konkrét kérdésekre adtál kitérő választ, minden esetben a web developer eszközök fontosságát kihangsúlyozva, ami tényszerű igazság, de nem jutott vele előrébb.
A kérdésedre saját magad meg is adtad a választ:
"Ki olt itt le kit?"
A válaszod:
"A hangnememet jogosan lehet kritizálni, sajnos a türelem nem az erősségem"
Na, de ne egymással vitatkozzunk, nem az a topic célja, csak akkor már én is elmondtam a szempontokat.
Ha már homár, többek közt a Chrome Developer Tools, a Firefox Firebug, valamint az Opera Dragonfly az, ami ajánlható JavaScript-debuggolási, HTML-manipulálási célokra, konzolra való kiíratásra, stb.
Ez általában a jobbklikkes menüből érhető el, pl. "Inspect Element" / "Elem kivizsgálása" vagy "Elem vizsgálata" menüpont alatt (vagy ehhez nagyon hasonló lesz a neve).
Itt érdemes megismerkedni a különböző fülekkel (akár a linkelt oldalakon keresztül, vagy található rengeteg ismertető is ezekhez). -
martonx
veterán
válasz
Sk8erPeter #23 üzenetére
Ki olt itt le kit? Én igenis segítettem neki. Ha megtanul debugolni, hirtelen egy klasszissal jobb lesz. Olyan ez mintha egy fuldokló kérne segítséget, aki fél kézzel egy csónakba kapaszkodik, de valamiért fingja sincs, hogy mire való a csónak. Én csak elmondtam neki, hogy az pont arra való, amire neki szüksége van. Arról már nem tehetek, hogy kiderült, neki a hobbija a fuldoklás, hát lelke rajta.
Ráadásul egy programozás fórumnak sosem az a célja, hogy más helyett megoldja a problémákat, ez szinte lehetetlen is lenne.
A célja az, hogy segítsünk megoldani a problémákat. És ha valakinek a problémáját web fejlesztő eszközök segítségével lehet megoldani (még ha ő nem is biztos, hogy tudja, hogy neki erre van szüksége, mert ezeket az eszközöket hírből sem ismerte eddig), akkor igenis komoly segítséget nyújtottam azzal, hogy ráirányítottam figyelmét ezen eszközök létezésére.
A hangnememet jogosan lehet kritizálni, sajnos a türelem nem az erősségem -
jeges
senior tag
válasz
Sk8erPeter #24 üzenetére
de miért .next() ? ha jól értem, az almenü klikkje a .leftcontent cseréjét kéne maga után vonja, azaz a .leftcontent tartalmát kéne cserélgetni. a $(this).next() a Te kódodban az .almenu-re vonatkozik.
vagy én értek félre valamit. -
Sk8erPeter
nagyúr
Túlbonyolítod.
Ha azt szeretnéd, hogy az első jelenjen meg, akkor az első "fo" osztályú div leftcontent osztályú gyerekelemének a display tulajdonsága legyen mondjuk display:block, a többi leftcontent mind induljon elrejtett állapotból (display:none).A többihez tartozó kód:
<script type="text/javascript">
$('.almenu').click( function( ){
// ha a testvérelem (.leftcontent) látszik amúgy is, simán eltüntetjük
if( $(this).next().is(":visible") ){
$(this).next().hide(500);
}
else{
$('.leftcontent').hide(500);
$(this).next().show(500);
}
});
</script> -
Sk8erPeter
nagyúr
Semmi értelme az ilyen rosszindulatú hangvételű hozzászólásoknak, egyszer sem segítettél érdemben, csak azt nyomattad neki, hogy ugyan tanulja már meg a debuggoló eszközök használatát... ha ő az alertekkel szeret rájönni a hiba okára, akkor tegye azt, de leoltástól nem fog előrébb jutni.
===
(#22) jeges: "performancia" - kérlek, ne!Létezik egy magyar szó, ami ennél sokkal szebb: teljesítmény. Ez a "performancia" nagyjából annyira értelmes szó, mint az "applikáció".
(Olyan szó sincs, ha már magyarra fordítjuk, fordítsuk jól: "alkalmazás".)
-
jeges
senior tag
szia,
én a következőket próbálnám ki:
this helyett $(this)
:eq() helyett .eq() -- beágyazott (úgy értem, a :xxx stílusú) selectorok nem szokták szeretni az ilyen hivatkozásokat, .eq() igen.
ha még mindig nem megy, .each() eljárással próbálkozz. nem feltétlen szükséges, de számomra legalábbis átláthatóbbá válik az aktuális "környezet" (azaz éppen mit jelent a this/$(this) ). aztán ha működik, lehet optimalizálni.valszeg elég lenne valami ilyesmi:
$(".almenu").each(function(){
$(this).bind("click",function(){
$(".leftcontent", ".leftmodule").hide();
$(".leftcontent", ".leftmodule").eq( $(this).index() ).show();
});
});ehhez persze el kell intézni, hogy alapértelmezésben minden leftcontent display:none legyen. én csinálnék egy visible class-t, ami display:block-ot állít, és azt adnám a leftcontent-hez. a fenti így nagyjából úgy nézne ki, hogy
$(".almenu").each(function(){
$(this).bind("click",function(){
$(".leftcontent", ".leftmodule").removeClass("visible");
$(".leftcontent", ".leftmodule").eq( $(this).index() ).addClass("visible");
// esetleg: $(".visible").show();
});
});nem túl optimális a megoldás, de 3-4 gomb esetén nincs érzékelhető különbség.
elnézést, elírás lehet benne még, mer' nem teszteltem...megjegyzés: mindig érdemes minél pontosabb class selectorokat használni, mer' sokat tud lendíteni az oldal performanciáján (lásd $(".leftcontent", ".leftmodule") ). ahol lehet, ott pedig inkább id, az a leggyorsabb.
-
martonx
veterán
Ugyan ennek már marhára nincs köze a jqueryhez, de a web fejlesztő eszközökkel lehet debugolni a futó javascript kódokat.
Aminek során meg tudod nézni ahogy soronként végrehajtódik a kód, kiértékelődnek a változók, mindent.
Ezt kellene megtenned, megtanulnod, hogy tovább tudj lépni.A javascript fejlesztés nem áll másból, mint szopáshalmokból, jó magasan egymásra púpozva. A webfejlesztő eszközök ezen a kínon enyhítenek valamelyest. A JQuery annyiban könnyíti meg a javascript fejlesztést, hogy az előbb használt képem esetében oszd el az egymásra púpozott szopáshalmokat hárommal
-
zserrbo
aktív tag
Most vissza raktam az első kódot csak hogy megnézzem, de nemtom mit kellene néznem. Azt látom a DOM fülön, hogy az elso és a kattintott is ugyanazt a dobozt jelöli ki és a hanyadik a 0. számot tartalmazza, de hogy miért hamis az első == kattintott kiértékelése az nem derül ki számomra.
-
zserrbo
aktív tag
Alertet raktam az ágakba és mindig az else ág alertje iratódott ki. Így már jobb?
Azt még most se tudom hogyan lehet összehasonlítani két eredményhalmazt, azaz hogy mindkettő ugyanarra mutat-e, de így már megy:
$(document).ready(function(){
$(".leftcontent").hide();
$(".leftcontent:eq(0)").show();
$(".fo").click(function(){
if($(this).find(".leftcontent").css('display')=='none'){
$(".leftcontent").hide(500);
$(this).find(".leftcontent").show(500);
}else{
$(this).find(".leftcontent").slideToggle(500);
}
});
}); -
-
zserrbo
aktív tag
Hali!
Látom friss még a téma
Épp elakadtam, hátha tud valaki segíteni.
Mutatom mi nem megy: [link]
Bal oldalt azt szeretném, ha alapból az első .leftcontent osztályú div jelenne meg.
Ha
- az elsőre kattintanak tűnjön el
- másikra akkor is tűnjön el az első, de a másik jelenjen meg
-tudja kezelni, ha olyan .almenure (a dátumra) kattintanak, aminek a .leftcontentje meg van jelenítve akkor eltűnjön simán.
Remélem érthető mire gondoltam.Ezzel a kóddal próbáltam:
$(document).ready(function () {
$(".leftcontent").hide();
elso=$(".leftcontent:eq(0)").show();
$(".almenu").click(function() {
hanyadik=($(".almenu").index(this));
/*$(".leftcontent").filter(':eq(hanyadik)').show(600);*/
kattintott=$('.leftcontent:eq(' + hanyadik + ')');
if( $(".leftcontent:eq(0)") == $('.leftcontent:eq(' + hanyadik + ')') ) {
elso.hide(600);
} else {
elso.hide(600);
kattintott.show(600);
elso=$('.leftcontent:eq(' + hanyadik + ')');
}
});
});A gond ott van, hogy sztem gáz van az összehasonlítással az ifben, mert ha 2x kattintok ugyanarra az elemre akkor is sztem az else ág hajtódik le. Eltűnik az doboz majd megjelenik.
-
Sk8erPeter
nagyúr
Ráadásul a hivatalos honlapon is ajánl alternatívákat egyből, idézem:
"While Thickbox had its day, it is not maintained any longer, so we recommend you use some alternatives.
colorbox
jQueryUI Dialog
fancybox
DOM window
shadowbox.js" -
martonx
veterán
Szia!
A ThickBox 2007-ben frissül utána. Szóval kuka. Felejtős. Nem gond, mert kismillió pont ugyanezt tudó jquery plugin van. A 2 órás guglizásból 5 percet rászánhattál volna arra, hogy egy olyat keresel, ami még élő, friss plugin. ahelyett, hogy egy őskövületet tákolgatnátok.
-
bush2021
csendes tag
Sziasztok!
Nekem a következő a problémám amire még eddig nem sikerült választ találtni.
Talán néhányan ismeritek a ThickBox névre hallgató csodálatos találmányt.
Van egy flash oldalunk és abban használjuk a galériát.Na most ez a remek kis dolog firefoxban elinditja a loadert de a képet nem tölti be, amugy egyéb böngészőkbe müxik,
illetve hogy a képek mellé kiküld egy scrollt amit overflow hiddenel eddig a pillanatig nem sikerült eltüntetni.2 óra googlézás után biznám rátok az ügyet
Előre is köszi
-
martonx
veterán
Szia!
Akárhány plugint használhatsz egyszerre egy oldalon (már persze hacsak azok hatása nem pont kioltja egymást).
Mindehhez annyit kell tenned, hogy nem kell tenned semmi különöset. Bemásolod a plugineket valami szimpatikus helyre, mondjuk csinálsz nekik egy js mappát.
Majd a html kódodban behivatkozod mindegyik plugint. -
ubid
senior tag
Helló!
Én még kezdő vagyok ebben a témában, ezért egy igen láma kérdést tennék fel
de fel kell hiszen nem tudom megoldni...
egyenlőre csak a jquery-plugin.hu ről szedett dolgokkal pórbálkozok, értelmezgetem őket.
azt szeretném hogy egy html oldalon kettő darab plugin is érvenyesüljön.
Ezt hogyan lehet megoldani ? mert én leszedtem mind két plugin demojat és azokat egyesítettem. tehát a javascript fájlt egy mappába raktam.. egy css-t csináltam belőlük. stb.
de nem megy. ilyenkor egyik se működik. külön külön igen.
a java scriptet is egy fájlba kéne rakni ? vagy hogy lehet ezt megoldani ?
gondolom triviális a megoldás de mégse megy.köszi a segítséget!
-
D@ni88
addikt
-
D@ni88
addikt
<script src="http://code.jquery.com/jquery-1.5.js"></script>
<label class="valami1">Valami1</label>
<label class="valami2">Valami2</label>
<p class="valami1" style="display: none"> <?php include("content/valami1.php"); ?> </p>
<p class="valami2" style="display: none"> <?php include("content/valami2.php"); ?> </p>
<script>
$("label.valami1").click(function () {
$("p.valami1").show("slow");
$("p.valami2").hide("slow");
});
$("label.valami2").click(function () {
$("p.valami2").show("slow");
$("p.valami1").hide("slow");
});
</script>Ha simán beinclude-olom, akkor megjelenik a tartalom és nem tűnik el. hogy lehetne megcsinálni, hogy ne kelljen ide külön bemásolni a forráskódot, hanem csak hivatkozni rá?
-
vamzi
senior tag
Up a topicnak. Látom még nem indult be. De hátha van valaki, aki pont idenéz és a választ is tudja.
A jelenlegi oldalamon úgy vannak megoldva a dolgok, hogy ki van istázva az egyik táblám. Mindegyik rekordhoz tartozik egy link is, amire ha rákattintok feldob új ablakban egy textboxot, ahol az értékét tudom változtatni az adott rekordnak. Ezt már eléggé elavultnak tekintem ráadásul lassú megoldás is, sok a felesleges kattintás és szerencsétlenkedés.
Úgy szeretném megoldani, hogy a linkek továbbra is maradjanak meg, de ha rákattintok, akkor ne feldobjon egy ablakot, hanem a szöveget tolja feljebb és lejjebb, az így nyert üres helyre pedig keletkezzen egy textbox. Remélem érthető, hogy mit is szeretnék. Ez egyébként egy 300 pixel széles és 600 pixem magas frame, ezért is kellene fentre meg lentre tolni. Nagyon sok helyen láttam már, de tutorialban vagy letölthető pluginként még nem sikerült megtalálnom. IQ-ból pedig nem megy.
Lekötelezne valaki, ha tudna irányt mutatni
-
tildy
nagyúr
Up a topiknak!
filefeltoltesnel felugro loader ablakra lenen szuksegem... nem egyszeru....
-
tildy
nagyúr
$('input[name="xPaymentID"]').change(function(){
if ($('input[name="xPaymentID"]:checked').val() == '1')
$('input.text').removeAttr('disabled');
else
$('input.text').attr('disabled', true);
});Ez csinalja a radiobuttonos valtast.
Az alabbi kodot probaltam egy payment idju tr-re, de nem mukodik:
$('#payment').hover(function (){
$('input.text').removeAttr('disabled');
else
$('input.text').attr('disabled', true);
}); -
tildy
nagyúr
Talán néhányan ismerik már a JQueryt
Akik nem azoknak elmondanám, hogy egy speciális Javascript library , amely kifejezetten a Javascript és a HTML közötti kapcsolatot hangsúyozza , és ingyenes ,nyílt forrású szoftver.
Kezelése egyszerű, könnyen megtanulható , és könnyedén elvégezhetők az oldalon olyan módosítások , mint pl. egy adott link cseréje radiobutton alapján, vagy kép csere, vagy div hide.Jómagam is kezdő vagyok, most tanulgatom, de látom, hogy nagyon nagy potenciál van benne.
Szóval megnyitom ezt a topikot, remélem sok hasznos információ lesz majd benne, és mindannyian tanulhatunk belőle.Rögtön egy kérdés is. Adott egy form, radiobutonokkal, egyik sincs kiválasztva, és az egyik alatti text input mező disabledre van állítva , amely csak akkor aktivalodik, ha a hozza tartozo radiobuttonra kattintasz. Azt szeretném elérni, hogy akkor is aktiválódjon a mező, ha belekattintok, és ekkor a radiobutton is váltson át a mezőhoy tartozora.
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- Lenovo ThinkPad T14 3 Gen 16/256GB SSD, Újszerű, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- 137 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- AKCIÓ! Lenovo Thinkpad T14 Gen 3 üzleti notebook - i5 1245U 16GB RAM 512GB SSD Intel Iris XeW11
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest