How To Create A Search Bar In JavaScript

  Рет қаралды 427,594

Web Dev Simplified

Web Dev Simplified

Күн бұрын

Пікірлер: 363
@user5214
@user5214 2 жыл бұрын
I'm new to JS, but watching your videos, while not really making me understand everything, always seems to give me a lot more clarity on peripheral ideas to the video, plus giving me an idea of how to think about problems that are beyond my abilities for the time being
@cedricmendoza8316
@cedricmendoza8316 2 жыл бұрын
Just stick to it. You'll go back to these eventually and things you've learned here, will suddenly make sense later.
@orzeszekyt4915
@orzeszekyt4915 2 жыл бұрын
same
@ДианаДиана-с1г
@ДианаДиана-с1г 2 жыл бұрын
how are you doing now?
@alessiacampana2320
@alessiacampana2320 2 жыл бұрын
me too but i'm not english and this is complicated
@UFO_808
@UFO_808 Жыл бұрын
ey bro how da fuck is it going?
@Dsworddance22
@Dsworddance22 2 жыл бұрын
I'm literally creating a project that needs a search bar right now, so this video was perfect timing
@anagnose
@anagnose 2 жыл бұрын
Me too ;)
@user-vd5im2mx5g
@user-vd5im2mx5g 2 жыл бұрын
I think that just means google is stalking you lol
@observer-0_0
@observer-0_0 2 жыл бұрын
mee too 🤗
@001你好
@001你好 2 жыл бұрын
so now u could able to create search with ur own 😄
@JasonKoolz
@JasonKoolz 2 жыл бұрын
As part of my college assignment, I was tasked with creating a review website, so this really helped in making it more fledged out and professional-looking. Thank you for the video, it's simple and really well done!
@stevemcardle2013
@stevemcardle2013 2 жыл бұрын
Kyle. This is a filter not a search. Nobody building apps to search for a user would load ALL of the users first, especially if there are 1000's of them, to then filter them down. It would have been a much more realistic use case to create a search with typeahead functionality connected to a DB. This is a valid filter usage for other use cases but for users is just not realistic.
@richardIambert
@richardIambert 2 жыл бұрын
What is typhead functionality?
@stevemcardle2013
@stevemcardle2013 2 жыл бұрын
@@richardIambert Hi Richard. As you type new searches are performed. This needs to take into account debounce so that not EVERY keystroke performs a new search, rather only do this after a user stops typing for X number of seconds
@mariahkitsune3625
@mariahkitsune3625 Жыл бұрын
Yeah I was wondering how this would be able to handle so much data. I'm actually trying to find a way to deal with 1000+ data for a project.
@brandonampang2199
@brandonampang2199 6 ай бұрын
How about don’t show the todos, and then show it when you type in the search bar
@zalos5555
@zalos5555 5 ай бұрын
​@@brandonampang2199 Bro it's a huge problem because first you will have to pull up 1000s of users... And then filter it, that's gonna take up a lot of time
@e.v.f595
@e.v.f595 2 жыл бұрын
2 years and you still manage to keep helping me. Thanks a lot!
@bobdinitto
@bobdinitto 2 жыл бұрын
I absorbed this video like a sponge in serendipity today because I happen to be working on an HTML search bar for my feathersjs client application right now. It's mostly working and I'm in the middle of chasing down some bugs but you've given me some great ideas to improve it. Thanks Kyle!
@JoeMcKenna-pu7kr
@JoeMcKenna-pu7kr 2 жыл бұрын
Yours are the best tutorials I've found on the web.
@AraliciaMoran
@AraliciaMoran 2 жыл бұрын
Very nice video, and well made explanations. Just a small caveat : such a search shouldn't be used on a huge amount of data. When needing to filter through many entries, or through very large entries, it can be better to use a server-side filter. This will often result in a faster result due to the server being able to filter faster than most devices, less data being transmited, and the ability to cache common search results to deliver the same response to multiple users. This does go behond the scope of an easy tutorial, but I believe it's important to mention it, since I've seen people fall into the pitfall of using a full-javascript search for multi-thousand entries search; and it doesn't always goes well for them.
@Retrohertz
@Retrohertz 2 жыл бұрын
Yes, agreed but I think he was just demonstrating how it can be done client-side.
@tomblitz22
@tomblitz22 2 жыл бұрын
Agreed. I'll add that search can be implemented more efficiently than a one-by-one-filter by using a data structure meant for that use case (even if done in browser-side js), and that on the server you have ElasticSearch at your disposal to do just that.
@macd7743
@macd7743 Жыл бұрын
Thanks for drawing attention to this extremely important point.
@sayeghjoe
@sayeghjoe 2 жыл бұрын
Kyle you’re awesome. I can’t tell you how much I love your tutorials. It’s straight to the point, comprehensive, and consistently good.
@davidjamesmclean6325
@davidjamesmclean6325 Жыл бұрын
you have the best channel for web dev on youtube. Great explanations of the solutions.
@HandledToaster2
@HandledToaster2 2 жыл бұрын
I love your channel. I love how you always take the time to explain how each new piece of code works, and why it's there. You're an amazing teacher. I recommend your channel to everyone.
@Falzer
@Falzer 2 жыл бұрын
This just made my life easier Before I always make two objects, 1 for the full list of information and the other 1 is for filtering, every input event a loop occurs to check if the letter typed by the user matches to any information thats in the full list object Its brilliant that appending everything on the webpage and then hide those who doesnt match from the input
@colindante5164
@colindante5164 2 жыл бұрын
With this tutorial I won't have to refactor anything. Thankyou for your clear explanation and throwing in new concepts that I wasn't aware of. So grateful)))
@hiyozumi
@hiyozumi 2 жыл бұрын
your channel is so underrated. Thank you so much, it helps me a lot with my college projects!
@codingwale8
@codingwale8 Жыл бұрын
thanx bro i was making website for helping ayurvedic student and your video really helped me 😘
@michaelparkernorton4841
@michaelparkernorton4841 Жыл бұрын
Mann way to go this is pro! I didn't even know about the html template tag. Very clear and smooth tutorial. Very well structured. Liked and subscribed.
@GashyDev
@GashyDev 2 жыл бұрын
A good thing that might of been an idea to mention, is to set a stagger/delay to the fetch request itself if it's ever setup to trigger upon user input - IE set a 250/500ms timer, if the user hasnt made any additional inputs, fire the fetch request. Because having a fetch request (to what would usually be a db or an API which has its own set of throttles) fire rapidly for each individual character could come with it own caveats overtime
@mykalimba
@mykalimba 2 жыл бұрын
In this project, there's only one fetch request that's made the entire time. It runs once when the page is loaded, not every time the input changes.
@raphaelwirnsberger6813
@raphaelwirnsberger6813 2 жыл бұрын
@@mykalimba Thanks. Thats literally what I was just going to write right now.
@GashyDev
@GashyDev 2 жыл бұрын
@@mykalimba I know its only applied to the initial load in this example, but i was more on about other use cases as not all the data is going to be loaded in straight away in every production scenario.
@jamesclark2020
@jamesclark2020 2 жыл бұрын
My gosh that is awesome. I can definitely foresee myself watching this about 10 more times before I actually try to do it myself.
@jamesabbott1517
@jamesabbott1517 2 жыл бұрын
Just finished a coding bootcamp and your video is amazing at building on from what we learned. Your explanations are what make this video so great, thankyou! I think I wrote more comments than code!
@HayWhy_Pappy
@HayWhy_Pappy Жыл бұрын
How's the job search coming off after your bootcamp?
@jamesabbott1517
@jamesabbott1517 Жыл бұрын
Going very well thank you! was lucky and managed to find a job very soon after the boot camp! Been at my new company coming on for a year now and loving it. Bootcamps are an expensive way into the industry and maybe not the right move for everyone. But if you research the right one for you, then they can be a fantastic path forward.
@HayWhy_Pappy
@HayWhy_Pappy Жыл бұрын
@@jamesabbott1517 Thanks for sharing man. Do appreciate the response.
@ifailu1
@ifailu1 2 жыл бұрын
You are a very gifted presenter. Please continue.
@kwanelekhumalo
@kwanelekhumalo 2 жыл бұрын
Dude!! How are you always able to no just solve my problems, but show me how I can simplify my code??? Every time!! 😂👏🏾👏🏾💪🏾💪🏾💪🏾
@vimwizard
@vimwizard 2 жыл бұрын
I just started learning js , i learn today arrays methods.. , i don't understand how he made that search bar yet but i will come back later to see it again.
@devop1646
@devop1646 Жыл бұрын
Very well explained. Even I don't know advanced JS still I understood what is done here, how and why. That's is what I expect from you. Thanks a lot!! @WebDevSimplified
@appuser
@appuser 2 жыл бұрын
I love you, a quick tutorial to start the day. Bravo, my friend!😀
@Himanshu86400
@Himanshu86400 7 ай бұрын
After spending an hour tryna figure out how the does the toggle hide functionality works so well, I finally understand. It's basically has to do with the fact that classList.toggle("className", force) works differently with two arguments. One might assume that if force boolean is true, toggle will be performed, else ignored. But that isn't the case. In case of two arguments: - toggle will add the class if the second argument (force) is true. - and remove the class if the second argument (force) is false. That's why elements don't keep toggling when search is invalid consecutively.
@vigormilo168
@vigormilo168 2 жыл бұрын
Hello Kyle, why are you using data attributes to select elements with querySelector and not the ids or classes that already exist on those elements?
@kevinzunigacuellar
@kevinzunigacuellar 2 жыл бұрын
It gives him more flexibility to add and repeat classes. I am not sure about ids but I don't think it's good practice to repeat ids since you usually create an ID to reference one element.
@vigormilo168
@vigormilo168 2 жыл бұрын
Ok but in this particular example he does card.querySelector(...) and not document.querySelector(...) so i don't think classes would be a problem if they are repeated elsewhere.
@kevinzunigacuellar
@kevinzunigacuellar 2 жыл бұрын
@@vigormilo168 card query selector is using document.query selector under the hood to reference the card template element. In this case he has a second query selector nested inside the card called data-header and data-body.
@vigormilo168
@vigormilo168 2 жыл бұрын
I will test this case and get back to you when I find some time. Thanks!
@mykalimba
@mykalimba 2 жыл бұрын
I believe he uses data attributes as a personal choice. My personal choice is to use an id, as it is implicit that there should be at most one element that matches the id. IMO, using data attributes or class names in an instance like this is not the best choice, because you're looking for exactly one element in the document (or card), but it is technically possible for the data attribute or class name to be assigned the multiple elements.
@threeone6012
@threeone6012 2 жыл бұрын
Thanks Kyle for not doing this with React. I love straight JS!
@Pareshbpatel
@Pareshbpatel 2 жыл бұрын
So much knowledge imparted in so short a time! - So fluently delivered. Thank you, Kyle. {2022-01-29}
@ParodieHecker-mobile
@ParodieHecker-mobile 2 жыл бұрын
Such a nice comment. {2022-03-14}
@JeremiKress
@JeremiKress 2 жыл бұрын
Wow, as a JS newbie I've found that Javascript is very functional 😲
@vigormilo168
@vigormilo168 2 жыл бұрын
I replaced all data- selectors with class and id selectors and it works fine. i even added h1.header on top of the body and it still works as expected.
@jodufan8754
@jodufan8754 2 жыл бұрын
Basically only to know theres an search input type made the Video worth watching
@andreiradovici8184
@andreiradovici8184 2 жыл бұрын
Very useful and educative video. I want to thank you for your time and dedication. Good luck in everything man!
@Ivaka_05
@Ivaka_05 2 жыл бұрын
6:04 I don't have data base, can I make a json file like this, but in the site’s folder and in fetch instead this link, to set the json file directory?
@bailiojaycee233
@bailiojaycee233 2 жыл бұрын
Alternatively, if you want to use a hyperlink or images from your data instead of just text, do: const hyperlink = card.querySelector("[data-link]"); const imgSource = card.querySelector("[data-src]"); hyperlink.href = user.link; imgSource.src =user.img;
@matitos
@matitos 2 жыл бұрын
omg thx!!!
@bailiojaycee233
@bailiojaycee233 2 жыл бұрын
@@matitos Happy to help
@martinn1071
@martinn1071 2 жыл бұрын
Legend!!! you always have ways of coding that blow my mind !! thanks so much for sharing this !! Quick questions tho, why don't you ever use query selectors like id's or classes? You're always creating html data attributes. There must be a reason behind it, and I'd love to know it. Again, you're awesome. Thanks so much for your content !!
@UmairSadaqat
@UmairSadaqat 2 жыл бұрын
The one thing you need to work on and what is it your playlist please organize your playlist when someone looking for a beginner to advanced JavaScript course your playlist is mashed up we all love your content and your design so consider this bro Love from Pakistan 🚀
@CasualUploader-ey4rw
@CasualUploader-ey4rw 10 ай бұрын
We need more developers like u.
@TheMetalMag
@TheMetalMag 2 жыл бұрын
u're amazing! u said can't know everything but u do and I'm always stunted by all the knowledge u got. I wish one day I get this ability with JS
@tahazia6340
@tahazia6340 2 жыл бұрын
i love u and your Mind Blowing Programming Skills...!
@chaitanyahazarika9562
@chaitanyahazarika9562 Жыл бұрын
U R LIKE THE BEST GUY IN THE WORLDDD DUDEEEEE AND WITH THE BESTTT HAIIRRRRR LOVE FROM INDIA
@zurdency4005
@zurdency4005 Жыл бұрын
Love it. Very very simple and easy to understand. Thanks bro.
@mrdbourke
@mrdbourke 2 жыл бұрын
Excellent video! Thank you so much!
@Ivaka_05
@Ivaka_05 2 жыл бұрын
10:47 It throws me this error "Uncaught TypeError: Cannot read properties of null (reading 'addEventListener')", why?
@PandaciteYT
@PandaciteYT 2 жыл бұрын
Thanks So Much, All The Other People Just Showed Only CSS, and front end
@RandellMonaghan
@RandellMonaghan 2 жыл бұрын
Your tuts actually work and are easy as to follow. Do you have a course or something. where is the best place to learn code by you?
@WebDevSimplified
@WebDevSimplified 2 жыл бұрын
I have multiple courses at courses.webdevsimplified.com
@singInTheDarkness
@singInTheDarkness 2 жыл бұрын
You're the best. one day I would like to program with the ease with which you do it 🤩
@RobertMcGovernTarasis
@RobertMcGovernTarasis 2 жыл бұрын
One change I would make is to simply store a lowercase version of the name and email address when you store the user object. Rather than calling toLowerCase on name or email for all users on each and every single key pressed in the search bar.
@eldenPango
@eldenPango 2 жыл бұрын
this is awesome contet!! earned a suscriber here!
@frankdrolet9439
@frankdrolet9439 2 жыл бұрын
Really good tutorial, quick and right to the point, that's what we need in 2022! Thanks
@yanalashivaprasadreddy3010
@yanalashivaprasadreddy3010 2 жыл бұрын
This is the video I have looking for. Thank you.
@imuentinyannosarumen9789
@imuentinyannosarumen9789 2 жыл бұрын
Love your contents man
@jonasgustavsson7811
@jonasgustavsson7811 2 жыл бұрын
6:09 how can "res => res.json" be one place down. which button you tap and 6:10 its down, i dont understand that!!
@abdirahmanfarah4886
@abdirahmanfarah4886 2 жыл бұрын
Following you from somalia ,Thank you
@imyou3627
@imyou3627 Жыл бұрын
1:21 without css how you get that styled text and search bar that big
@jonasgustavsson7811
@jonasgustavsson7811 2 жыл бұрын
08:28 how can you take "})" down without...on the left sid eof the code, whoch button you press?!
@BenjaminAster
@BenjaminAster 2 жыл бұрын
6:00 If you make the script a type=module, you can use top-level-await, so you don't have to use .then().
@IAmLesleh
@IAmLesleh 2 жыл бұрын
Depending on browser support you require. Safari for example only added it with the very latest version, v15.
@unjoined
@unjoined 2 жыл бұрын
Loved it! Thank you very much!
@SocksWithSandals
@SocksWithSandals 2 жыл бұрын
That was a very well explained and very understandable example.
@wheat4482
@wheat4482 2 жыл бұрын
Thank you so much man!! i really appreciate your content, gold as always.
@sonicalstudios
@sonicalstudios 2 жыл бұрын
Amazing tutorial I will be adding this feature to my site
@r0wdybandit015
@r0wdybandit015 2 жыл бұрын
Damn dude... I did not know VS code had HTML shortcuts like that.... good stuff
@adeyemiblessing
@adeyemiblessing 2 жыл бұрын
I just spent 14minutes and 27 seconds examining the alignment of his hair 😂😂 By the way great tutorial
@Thebiggestgordon
@Thebiggestgordon 2 жыл бұрын
I literally just submitted my cs assignment like an hour before watching this video, this would have been so helpful lol. Also what vscode add ons do you use? That autocomplete and auto format looks nice.
@top10movies25
@top10movies25 2 жыл бұрын
I was a thinker when we were looking for something that shows the data programmed in PHP
@jayashreejayashree9768
@jayashreejayashree9768 2 жыл бұрын
great tutor, excellent presentation.
@clnguye
@clnguye 2 жыл бұрын
Kyle, you’re so good
@environmentNow
@environmentNow 2 жыл бұрын
I love tour videos. (The only thing that ennoys me a little is that you never use a semi-colon)
@mervinmarba7720
@mervinmarba7720 Жыл бұрын
man thanks for this clip... more power!
2 жыл бұрын
You are the best, like always
@thuyatun3575
@thuyatun3575 2 жыл бұрын
i have never been more motivated to code. i just wished you would go abit slower because watching your videos are like a speedrun for me xD
@BAAAAAAAAAAA
@BAAAAAAAAAAA 2 жыл бұрын
Love the first search 💜💜 Time to become a purple monster 😈
@MarshallSC1
@MarshallSC1 2 жыл бұрын
Any comparison between what way is better to use to populate elements on website? With html template element VS entirely through JS, with template literals ? From a performance standpoint, optimal performance standpoint, etc... Thanks!
@peppenas7103
@peppenas7103 2 жыл бұрын
Great video - one question tho - instead of "textContent" I need to append a image url to img src="". How do I do that?
@jayde1992
@jayde1992 2 жыл бұрын
Did u figure that out?
@akebengtsson1223
@akebengtsson1223 2 жыл бұрын
setAttribute( 'src' , '*img url*')
@thinhvo3904
@thinhvo3904 2 жыл бұрын
awesome content 👍
@guli670
@guli670 2 жыл бұрын
Thank you very much for these Videos there are very helpful
@voldemortvi4264
@voldemortvi4264 2 жыл бұрын
i love your videos man , thank you so much
@rajpatel9406
@rajpatel9406 2 жыл бұрын
Hey Web Dev Simplified i am confused here , what are you writing after class and template like " " and " thanks and your videos are by far the best among coding channels
@fgsaldanha
@fgsaldanha 2 жыл бұрын
These are called data attributes. You can use them to store any information related to a particular element. Kyle put them there so he could select the elements later using querySelector (although I think using classes and IDs would have the same result).
@rajpatel9406
@rajpatel9406 2 жыл бұрын
@@fgsaldanha thanks it helped a lot 👍👍
@beyaryoussefalhaji569
@beyaryoussefalhaji569 2 жыл бұрын
Can you please do a filter buttons as well, thank you
@fosimuboolubo8891
@fosimuboolubo8891 2 жыл бұрын
All I can say is thanks man.
@tseku210
@tseku210 2 жыл бұрын
Been meaning to learn this
@manakupadhyay
@manakupadhyay 2 жыл бұрын
Hi Kyle, thanks for the video. Please make another video like this and show us how to use debouncing and throttling.
@kyleoliver8142
@kyleoliver8142 2 жыл бұрын
Thanks Kyle, you're awesome 👌
@gamerbrothers1926
@gamerbrothers1926 2 жыл бұрын
Very good❤
@xenialxerous2441
@xenialxerous2441 2 жыл бұрын
Hi! Thanks for this amazing video. Even though it was simple, uncomplicated but informative.
@martez_da_real
@martez_da_real Жыл бұрын
I just spent 3 days trying to do this in react, this is so much simpler.
@jessiemoura9632
@jessiemoura9632 2 жыл бұрын
Hi, Kyle! I can't tell enough how much this video saved my school project haha. Thanks a lot. You're awesome 😁
@CuongNguyen-yh9dh
@CuongNguyen-yh9dh 2 жыл бұрын
It would be great if you made a video about typescript. Thanks.
2 жыл бұрын
Very good work!! thanks!!
@vrk1131
@vrk1131 2 жыл бұрын
6:09 how did he break the code into three lines. I wrote the same code on vs code and I also have prettier extension installed but the code is just on a single line. someone help
@vrk1131
@vrk1131 2 жыл бұрын
@P S thank you bro. It worked. 🤩
@vrk1131
@vrk1131 2 жыл бұрын
@P S ☺️
@vrk1131
@vrk1131 2 жыл бұрын
@P S god bless you.
@arvsnacs422
@arvsnacs422 2 жыл бұрын
This is short but as a self learner I need to understand how to connect/call the data from different nest or function. I hope i can recall this after a week and after i finish another project tutorial.
@maresstefan3391
@maresstefan3391 2 жыл бұрын
Cool video! Question: How or is there a way that you can change the clear icon? Or can the search icon be styled with css?
@tomasvn09
@tomasvn09 2 жыл бұрын
I would hide the default state of clear icon and set a background image, with custom clear icon
@krystianconfeiteiro7245
@krystianconfeiteiro7245 2 жыл бұрын
Thank you! How can this be used to find content that is already on a website? I am trying to include a search bar on a website that can query the entire webite's content and pull up relelvant links in a small menu. Thanks in advance!
@TheScriptingLegend
@TheScriptingLegend 2 жыл бұрын
The thing is just like with the search bars I’ve made in the past, if there is an exact match that’s comes after something that has the search term in it, the exact match won’t come up on top
@mznunaya
@mznunaya 2 жыл бұрын
You're a wizard.
@Chetanoo
@Chetanoo 2 жыл бұрын
Thank you! That video is really helpfull
@tobiasm161
@tobiasm161 2 жыл бұрын
Great work! Thx How would you do that for searching a specific folder on you computer. The results then are as well shown in the html file?
@triviagame_forever
@triviagame_forever 2 жыл бұрын
You are the best!
@walaress
@walaress 2 жыл бұрын
Hey Kyle! if I decided not to use the Api for the card information, how can I make and array with the information manually input inside the data tag in the html?
@jonasgustavsson7811
@jonasgustavsson7811 2 жыл бұрын
14:02 how can you take both lines down one step ??!
@recap0074
@recap0074 2 жыл бұрын
Thank you🖤
How to FETCH data from an API using JavaScript ↩️
14:17
Bro Code
Рет қаралды 173 М.
Most Beginner React Developers Do This Wrong
13:47
Web Dev Simplified
Рет қаралды 238 М.
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 55 МЛН
5 Must Know JavaScript Features That Almost Nobody Knows
18:06
Web Dev Simplified
Рет қаралды 478 М.
Subtle, yet Beautiful Scroll Animations
5:04
Beyond Fireship
Рет қаралды 1,8 МЛН
Make a Search Bar with React (with API Calls) | Beginners Tutorial
27:49
This Simple Trick Makes Your Website 83% Better Looking
10:57
Web Dev Simplified
Рет қаралды 400 М.
How to OVER Engineer a Website // What is a Tech Stack?
11:20
Fireship
Рет қаралды 2,5 МЛН
Learn DOM Manipulation In 18 Minutes
18:37
Web Dev Simplified
Рет қаралды 1 МЛН
5 JavaScript Concepts You HAVE TO KNOW
9:38
James Q Quick
Рет қаралды 1,4 МЛН
小丑教训坏蛋 #小丑 #天使 #shorts
00:49
好人小丑
Рет қаралды 54 МЛН