Autor Zpráva
ForestCZE
Profil
Zdravím, mám tuto ukázku. Při zadávání textu do inputu to vyhodí chybu, že nelze použít fci toLowerCase, potažmo ani indexOf. Nejspíše to bude tím, že to neví, z které hodnoty v tom poli to má filtrovat. Potřebuji, aby to filtrovalo z label, ale abych měl k dispozici i id kvůli append fci na div. Jak na to, prosím?
Kcko
Profil
ForestCZE:
Protože tio tvoje "charge" je OBJEKT. Dopln si tam charge.label
A nauč se pracovat s console.log a debugem.
ForestCZE
Profil
Kcko:

Protože tio tvoje "charge" je OBJEKT“ -> „Nejspíše to bude tím, že to neví, z které hodnoty v tom poli to má filtrovat

nauč se pracovat s console.log a debugem
Já se teda omlouvám, že jsem si dovolil požádat o pomoc...

Vím, že je tam celý objekt, ale nevím, jak přidat ten label

let chargesList = data.filter(charge => charge.toLowerCase().indexOf(charges) > -1)

let chargesList = data.filter(charge.label => charge.label.toLowerCase().indexOf(charges) > -1)

Jestli to má být takhle nebo jinak?


EDIT: Vyřešeno.

let chargesList = data.filter(charge => charge.lablel.toLowerCase().indexOf(charges) > -1)
Kcko
Profil
ForestCZE:
Nemusíš se omlouvat, kdybych Ti nechtěl odpovědět, tak jsem tak učinil. Spíš Tě chci nasměrovat, protože tenhle problém sis mohl snadným debugem zjistit sám (a všiml jsem si, že to není první dotaz v JS sekci za posledních několik týdnů).|

A label jsem Ti ukázal jak přidat, nakonec jsi to pochopil.

Jinak to filtrování stejně funguej divně, napíši "Zab" a nenajde mi to nic. Napíši "zab" a najde mi to první položku. Měl bys převádět na malá písmena i ten label. A ideálně mu zrušit i diakritiku.

Psal jsem kdysi jQuery plugin na hezčí selectbox, najdeš tam funkci na odstranění diakritiky -> github.com/Kcko/aw-select/blob/master/aw-select.jquery.js

Vaše odpověď

Mohlo by se hodit

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

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0