商品クエリ機能を実現するJavaScript

商品クエリ機能を実現するJavaScript

この記事の例では、商品検索機能を実現するためのJavaScriptの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

これはクエリをクリックせずにメインインターフェースです

これは名前クエリをクリックした後です

価格で探す

コード:

<!DOCTYPE html>
<html lang="ja">
 <ヘッド>
  <メタ文字セット="UTF-8">
  <title>JavaScript クエリ関数</title>
  <スタイル>
  体{
   フォントファミリ: "Microsoft YaHei";
   フォントサイズ: 18px;
  }
   テーブル {
    幅: 800ピクセル;
    境界線: 1px実線 #000;
    境界線の折りたたみ: 折りたたみ;
    マージン: 0 自動;
   }
   td、th {
    境界線: 1px実線 #000;
    テキスト配置: 中央;
   }
   入力{
    幅: 70ピクセル;
   }
   。検索 {
    幅: 600ピクセル;
    マージン: 20px 自動;
   }
  </スタイル>
 </head>
 <本文>
  <div class="検索">
   価格で検索: <input type="text" class="start"> - <input type="text" class="end">
   <button class="search-price">検索</button>
   <br><br>
   製品名で検索: <input type="text" class="product">
   <button class="search-pro">検索</button>
  </div>
  <テーブル>
   <頭>
    <tr>
     <th>製品名</th>
     <th>価格</th>
     <th>プロセッサ</th>
     <th>スクリーン</th>
     <th >カメラ</th>
     <th>バッテリー</th>
     <th >機能</th>
    </tr>
   </thead>
   <t本文>
   </tbody>
  </テーブル>
  <スクリプト>
  // 新しい配列メソッドを使用してデータを操作する var data = [
  {
   pname: 'Huawei mateX2',
   価格: 17999、
   プロセッサ:「Kirin 9000」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei mate40Pro',
   価格: 6599、
   プロセッサ:「Kirin 9000」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei mate40',
   価格: 4999、
   プロセッサ:「Kirin 9000E」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei mate30Pro',
   価格: 5499、
   プロセッサ:「Kirin 990」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei mate30',
   価格: 3599、
   プロセッサ:「Kirin 990」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei P40Pro'、
   価格: 7999、
   プロセッサ:「Kirin 990」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei P40'、
   価格: 3999、
   プロセッサ:「Kirin 990」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Honor 30 Pro',
   価格: 3999、
   プロセッサ:「Kirin 990」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Huawei mate20Pro',
   価格: 1599、
   プロセッサ:「Kirin 980」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Xiaomi 11Pro',
   価格: 4799、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Xiaomi 11',
   価格: 3799、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Xiaomi Mix4',
   価格: 5499、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'Redmi K40Pro',
   価格: 2999、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   名前: 'Redmi K40',
   価格: 1999年、
   プロセッサ:「Qualcomm Snapdragon 870」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'VivoX60Pro',
   価格: 5499、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'VivoX60',
   価格: 3499、
   プロセッサ:'Orion'、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  {
   pname: 'OPPOReno6Pro',
   価格: ''、
   プロセッサ:「Qualcomm Snapdragon 888」、
   画面:''、
   カメラ:''、
   バッテリー:''、
   特性機能:''、
  },
  ];
   // 1. 要素を定義して取得する var tbody = document.querySelector('tbody');/*tbody を定義する*/
   var search_price = document.querySelector('.search-price');/*search-price を定義する*/
   var processor = document.querySelector('.processor');/*processor を定義する*/
   var screen = document.querySelector ('.screen'); /* 画面を定義する */
   var camera = document.querySelector ('.camera'); /* カメラを定義する */
   var Battery = document.querySelector ('.Battery'); /* バッテリーを定義する */
   var CharacteristicFunction = document.querySelector ('.CharacteristicFunction'); /* 特性関数 */
   var start = document.querySelector('.start');
   var end = document.querySelector('.end');
   var product = document.querySelector('.product');
   
   日付を設定します。
   // 2. データをページにレンダリングする function setDate(mydata) {
    // まず元の tbody のデータをクリアします tbody.innerHTML = '';
    mydata.forEach(function(value) { /* 追加 */
     var tr = document.createElement('tr');
     tr.innerHTML = '<td>' + value.pname + '</td><td>'
     + 値.価格+'</td><td>'
     + value.processor+'</td><td>'
     + value.screen+'</td><td>'
     + value.camera+'</td><td>'
     + value.Battery+'</td><td>'
     + value.CharacteristicFunction+'</td>'
     ;
     tr の子要素を追加します。
    });
   }
   // 3. 価格で製品を照会する // ボタンをクリックして、製品価格に応じて配列内のオブジェクトをフィルタリングします search_price.addEventListener('click', function() {
    var newDate = data.filter(function(値) {
     戻り値 value.price >= start.value && value.price <= end.value;
    });
    コンソールにログ出力します。
    // フィルタリングされたオブジェクトをページにレンダリングします setDate(newDate);
   });
   // 4. あいまい検索 ---- 製品名で製品を検索する あ​​いまい検索 product.addEventListener('keyup', function() {
       // 取得したデータをページにレンダリングする var result = data.filter(function(value) {
           if (value.pname.includes(product.value)) {
               戻り値
           }
       })
       結果の日付を設定します。
       setDate(data.filter(function(value) {
           if (value.pname.includes(product.value)) {
               戻り値
           }
       }));
   })
  </スクリプト>
 </本文>
</html>

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jsを使用して製品クエリケースを実現する

<<:  ドッカー専用倉庫港湾建設プロセス

>>:  MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

推薦する

親要素に対する CSS 子要素の固定配置ソリューションの詳細な説明

基本概念絶対配置: 絶対配置に設定された要素ボックスはドキュメント フローから完全に削除され、その包...

vueの実践的な応用におけるvuexの永続性の詳細な説明

目次vuex 永続性要約するvuex 永続性vuex: ブラウザを更新すると、vuexの状態は初期状...

CSS3 カテゴリメニュー効果

CSS3 カテゴリ メニューの効果は次のとおりです。 html <html> <ヘ...

HTML に画像が存在しない場合にデフォルトの画像を表示する方法の例

画像リンク <img src="" /> jsを使用してURLが有効...

Html+CSS 描画三角形アイコン

まずはレンダリングを見てみましょう: XML/HTML コードコンテンツをクリップボードにコピー&l...

Apache FlinkCEP でタイムアウトステータス監視を実装するための詳細な手順

CEP - 複合イベント処理。ご注文後、一定期間内にお支払いの確認が取れませんでした。タクシーの配...

js での Object.create インスタンスの使用法の詳細な説明

1. Object.create() メソッドを使用して新しいオブジェクトを作成し、既存のオブジェク...

Windows で MySQL のルート パスワードを忘れた場合にリセットする方法

私のマシン環境: Windows 2008 R2 MySQL 5.6 Baidu で「Windows...

純粋なCSSでは、子要素が親要素の幅制限を突破できる。

文章のスタイルでは、このような状況がよく見られます コードは次のとおりです <div styl...

CSS3のtext-fill-colorプロパティの詳細な説明

text-fill-color とは何を意味しますか?文字通りの意味から言えば、「テキストの塗りつぶ...

シンプルなショッピングカートの最も完全なコード分析を実装する JavaScript (ES6 オブジェクト指向)

この記事では、シンプルなショッピングカートを実装するためのJavaScriptの具体的なコードを参考...

大規模なデータテーブルのコピー効率を向上させるMySQLソリューション

序文この記事では主に、MySQL で大規模なデータ テーブルのコピーの効率を向上させることに関する関...

HTML テーブルタグと関連する改行の問題の詳細な分析

テーブルとは何ですか?テーブルは、データのキャリアである HTML テーブルです。以下は比較的標準的...

MySQLトリガーの使用例の詳細

MySQL トリガー構文の詳細: トリガーは、特定のテーブル内のデータが挿入、削除、または更新される...

Docker View プロセス、メモリ、カップ消費量

Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...