Autor | Zpráva | ||
---|---|---|---|
AM_ Profil |
#1 · Zasláno: 2. 5. 2011, 01:46:08 · Upravil/a: AM_
Ahoj,
mám tento problém: potřeboval bych vybrat všechny inputy s prázdnou hodnotou (jde mi o čísla, takže ideálně prázdný string nebo "0". čekal bych, že bude fungovat toto: $('input.castka[value="0"]'); to mi ale vybere uplně všechny inputy s třídou "castka" nehledě na jejich obsah. Jak se to zapíše správně? V ideálním připadě by to nemělo vybrat disablované inputy. předem díky za radu. //P.S. zjistil jsem, že to špatně vybírá jen elementy, které změním; selektor se tedy zřejmě řídí hodnotou, kterou měl input při načtení stránky. Lze to nějak řešit? |
||
Darker Profil |
#2 · Zasláno: 3. 5. 2011, 08:37:35 · Upravil/a: Darker
Lze to řešit třeba metodou getElementsByTagName a následným cyklem for.
var inputy=document.getElementsByTagName("input"); var potrebne=array(); for(var i=0;i<inputy.length;i++){ var input=inputy[i]; if( input.type!=text)continue; if(/*je disabled*/)continue; if(input.value==""||input.value="0")potrebne.push(input); } Možná tam mám chybky ale princip je jasný, doufám. |
||
AM_ Profil |
#3 · Zasláno: 3. 5. 2011, 11:07:16
Díky moc, podobné řešení jsem nakonec použil, jen se divím, že to nejde nějak elegantně přes jquery.
|
||
Chamurappi Profil |
#4 · Zasláno: 3. 5. 2011, 11:25:54
Reaguji na AM:
Filtrovat kolekci v jQuery jde. Vyhledávat v jejich dokumentaci také jde. S attr to možná bude zlobit tak, jak ti to zlobí, takže stejně skončíš u přímého přístupu k DOMu. Skript od Darkera je efektivnější.
Reaguji na Darkera: „potrebne=array();“ Spíš new Array() .
„input.type!=text“ Spíš input.type!="text" .
|
||
Darker Profil |
#5 · Zasláno: 3. 5. 2011, 13:43:36
Za chyby se omlouvám, dík za opravu.
|
||
Časová prodleva: 13 let
|
0