آموزش es6 https://drupalweb.ir/ fa سرچ در یک آبجکت با استفاده از input قسمت 2 https://drupalweb.ir/blog/js-serarch2 <span class="field field--name-title field--type-string field--label-hidden">سرچ در یک آبجکت با استفاده از input قسمت 2</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="">حامد حسینی</span></span> <span class="field field--name-created field--type-created field--label-hidden">ش., 03/07/2020 - 12:31</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>در قسمت قبل (<a href="https://www.drupalweb.ir/blog/js-serarch">سرچ در یک آبجکت با استفاده از input</a>) اینکه یک سرچ در یک آبجکت انجام بدیم و در console نمایش بدیم نوشتیم و در این قسمت میخوهیم مقادیر أبجکت ها را در داکیومنت نمایش بدیم </p> <p>خوب ابتدا باید در سند html یک div ایجاد کنیم که مقادیر آبجکت سرچ شده رو درون خود نگه داری کند </p> <p>و سند html را به صورت زیر تغییر میدهمی </p> <pre> <code class="language-haml">&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;hello world&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;input type="text" id="input-search"&gt; &lt;div id="products"&gt;&lt;/div&gt; &lt;/body&gt; &lt;script src="app.js"&gt;&lt;/script&gt; &lt;/html&gt;</code></pre> <p>در ادامه در فایل app.js باید این تگ را بگیریم و با استفاده و مقادیر سرچ شده را به صورت زیر اضافه کینم </p> <pre> <code class="language-javascript">const products = [ { title:'node js learning' }, { title:'es6 js learning' }, { title:'php' }, ] const filters = { searchItem:'' } const rebderProdoucrs = function(products, filter){ const filP = products.filter(function(item){ return item.title.toLowerCase().includes(filter.searchItem.toLowerCase()) }) document.querySelector('#products').innerHTML = '' filP.forEach(item =&gt; { const productel = document.createElement('p') productel.textContent = item.title document.querySelector('#products').appendChild(productel) }); } document.querySelector('#input-search').addEventListener('input', function(e){ filters.searchItem = e.target.value rebderProdoucrs(products, filters) })</code></pre> <p> </p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/blog/public/1398-12/21-Super-Cool-Search-Input_0.jpg?itok=tYgtnNwG" width="700" height="300" alt="سرچ در یک آبجکت با استفاده از input قسمت 2" title="سرچ در یک آبجکت با استفاده از input قسمت 2" typeof="foaf:Image" class="image-style-blog" /> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-hidden clearfix"> <ul class='links field__items'> <li><a href="/brchsbha/amwzsh-es6" hreflang="fa">آموزش es6</a></li> </ul> </div> <div class="field field--name-field-dsth-bndy field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/dsth-bndy-wblag/java-script" hreflang="fa">java script</a></div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class='title comment-form__title'>افزودن دیدگاه جدید</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=346&amp;2=field_comments&amp;3=comment" token="V8c7H3KCdnMFUL5LSqQL4Uvgwofd84Bo9ayEAPtGB-o"></drupal-render-placeholder> </section> Sat, 07 Mar 2020 09:01:52 +0000 حامد حسینی 346 at https://drupalweb.ir https://drupalweb.ir/blog/js-serarch2#comments سرچ در یک آبجکت با استفاده از input https://drupalweb.ir/blog/js-serarch <span class="field field--name-title field--type-string field--label-hidden">سرچ در یک آبجکت با استفاده از input</span> <span class="field field--name-uid field--type-entity-reference field--label-hidden"><span lang="" about="/user/1" typeof="schema:Person" property="schema:name" datatype="">حامد حسینی</span></span> <span class="field field--name-created field--type-created field--label-hidden">ش., 03/07/2020 - 12:13</span> <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>سلام میخوام در این آموزش یک سرچ ساده در یک آبجکت انجام بدیم که مقدار اولیه از یک input گرفته میشود </p> <p>در مرحله اول باید قسمت html کار رو بنویسیم </p> <p> </p> <pre> <code class="language-haml">&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;hello world&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;input type="text" id="input-search"&gt; &lt;/body&gt; &lt;script src="app.js"&gt;&lt;/script&gt; &lt;/html&gt;</code></pre> <p>در مرحله بعد در فایل app.js یک آبجیکت تعیرف میکنیم که شامل مقادیری می باشد که باید درآن سرچ شود که ممکن است این آبجکت از از داکیومنت html گرفته شود </p> <pre> <code class="language-javascript">const products = [ { title:'node js learning' }, { title:'es6 js learning' }, { title:'php' }, ]</code></pre> <p>در مرحله بعد یک أبجکت تعریف میکنیم که مقادیر سرچ شده را در درون خود نگه میدارد </p> <pre> <code class="language-javascript">const filters = { searchItem:'' }</code></pre> <p>و در ادامه یک تابع که در درون آبجکت فیلتر انجام میدهد و مقادیر را درون آبجکت filters ذخیره میکند </p> <pre> <code class="language-javascript">const rebderProdoucrs = function(products, filter){ const filP = products.filter(function(item){ return item.title.toLowerCase().includes(filter.searchItem.toLowerCase()) }) console.log(filP) }</code></pre> <p>و حالا باید مقادیر که مقادیر را از input بگیریم و بر روی تابع اعمال کنیم </p> <pre> <code class="language-javascript">document.querySelector('#input-search').addEventListener('input', function(e){ filters.searchItem = e.target.value rebderProdoucrs(products, filters) })</code></pre> <p> </p> </div> <div class="field field--name-field-image field--type-image field--label-hidden field__item"> <img loading="lazy" src="/sites/default/files/styles/blog/public/1398-12/21-Super-Cool-Search-Input.jpg?itok=elxYdz30" width="700" height="300" alt="مثال سرچ در یک آبجکت با استفاده از input" title="مثال سرچ در یک آبجکت با استفاده از input" typeof="foaf:Image" class="image-style-blog" /> </div> <div class="field field--name-field-tags field--type-entity-reference field--label-hidden clearfix"> <ul class='links field__items'> <li><a href="/brchsbha/amwzsh-es6" hreflang="fa">آموزش es6</a></li> </ul> </div> <div class="field field--name-field-dsth-bndy field--type-entity-reference field--label-hidden field__items"> <div class="field__item"><a href="/dsth-bndy-wblag/java-script" hreflang="fa">java script</a></div> </div> <section class="field field--name-field-comments field--type-comment field--label-above comment-wrapper"> <h2 class='title comment-form__title'>افزودن دیدگاه جدید</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=345&amp;2=field_comments&amp;3=comment" token="xdX56P9gJu5fCmHQhrmcvhqhwfs3oGhnRDhKMKRXGfI"></drupal-render-placeholder> </section> Sat, 07 Mar 2020 08:43:11 +0000 حامد حسینی 345 at https://drupalweb.ir https://drupalweb.ir/blog/js-serarch#comments