ドロップダウンボックスを作るのに時間がかかりましたが、IE はまだ互換性がありません。IE になると、互換性がありません。検索機能付きのよりシンプルなドロップダウン ボックスを探しています。または、誰かが私を大いに助けてくれますか? 以下の私の JS と CSS コードを見てください (解決策)
function searchInputObject(id, valueid, zIndex) { if (!id || !valueid) return; var arraylist = new Array(); var ddl = document.getElementById(valueid); for (i = 0; i < ddl.options.length; i++) { arraylist[i] = { txt: ddl.options[i].text, val: ddl.options[i].value }; } ddl.style.display = "none"; this.search_input_now_value = ""; this.search_input_id = id; this.search_input_indexchanged = ddl.onchange; this.search_input_value = document.getElementById(valueid); this.search_input_arraylist = arraylist; this.search_input_div1 = document.getElementById(this.search_input_id); this.search_input_div1.className = "search_input_div1"; this.search_input_div1.innerHTML = "<INPUT id='search_input_" + this.search_input_id + "' class='search_input_input' readonly='true' >" + "<DIV id='search_input_div2_" + this.search_input_id + "' class='search_input_div2' ></DIV>" + "<DIV id='search_input_div3_" + this.search_input_id + "' name='search_input_div3_name' class='search_input_div3' style='display:none;' ></DIV>" + "<DIV id='search_input_div4_" + this.search_input_id + "' name='search_input_div4_name' class='search_input_div4' style='display:none;' ></DIV>" + "<DIV id='search_input_div5_" + this.search_input_id + "' name='search_input_div5_name' class='search_input_div5' style='display:none;line-height:20px;'> 搜索: <input id='search_input_box_" + this.search_input_id + "' style='width:120px;height:15px;' /></DIV>"; this.search_input_div2 = document.getElementById("search_input_div2_" + this.search_input_id); this.search_input_div3 = document.getElementById("search_input_div3_" + this.search_input_id); this.search_input_div4 = document.getElementById("search_input_div4_" + this.search_input_id); this.search_input_div3.innerHTML = "<table id='search_input_table_" + this.search_input_id + "' cellpadding='2' cellspacing='0' class='search_input_table'></table>"; this.search_input_div5 = document.getElementById("search_input_div5_" + this.search_input_id); this.search_input_box = document.getElementById("search_input_box_" + this.search_input_id); this.search_input_table = document.getElementById("search_input_table_" + this.search_input_id); this.search_input_input = document.getElementById("search_input_" + this.search_input_id); if (zIndex != null) { this.search_input_div1.style.zIndex = zIndex; this.search_input_div2.style.zIndex = zIndex; this.search_input_div3.style.zIndex = zIndex; this.search_input_div4.style.zIndex = zIndex - 1; this.search_input_div5.style.zIndex = zIndex; } this.search_input_input.value = search_input_get_txt(this); search_input_load(this);}searchInputObject.prototype.search_input_hidden_div = function() { this.search_input_div3.style.display = "none"; this.search_input_div4.style.display = "none"; this.search_input_div5.style.display = "none";}searchInputObject.prototype.search_input_show_div = function() { this.search_input_div3.style.display = "block"; this.search_input_div4.style.display = "block"; this.search_input_div5.style.display = "block";}searchInputObject.prototype.AutoSelect = function() { this.search_input_input.value = search_input_get_txt(this);}//根据获得 ,更新页面function search_input_load(obj) { obj.search_input_box.onkeyup = function() { search_input_search(obj); }; obj.search_input_div2.onclick = function() { search_input_search(obj); obj.search_input_box.focus(); }; obj.search_input_input.onmouseup = function() { search_input_search(obj); obj.search_input_box.focus(); }; var list = obj.search_input_arraylist; var table = obj.search_input_table; for (var i = 0; i < list.length; i++) { var row = table.insertRow(-1); //加入一新行 row.id = list[i].val; row.name = list[i].txt; row.className = "search_input_out"; row.onclick = function() { obj.search_input_input.value = this.name; obj.search_input_value.value = search_input_get_val(obj, obj.search_input_input.value); if (obj.search_input_indexchanged) obj.search_input_indexchanged(); obj.search_input_hidden_div(); }; row.onmouseover = function() { this.className = "search_input_over" } row.onmouseout = function() { this.className = "search_input_out" } //插入个td var td0 = row.insertCell(-1); td0.innerHTML = list[i].txt; } //设置下拉div位置 var div1 = obj.search_input_div1.getBoundingClientRect(); obj.search_input_div5.style.left = -1; obj.search_input_div5.style.top = 23; obj.search_input_div5.style.width = obj.search_input_div1.clientWidth + 2; obj.search_input_div3.style.left = -1; obj.search_input_div3.style.top = 53; obj.search_input_div3.style.width = obj.search_input_div1.clientWidth + 2; obj.search_input_div4.style.left = -2; obj.search_input_div4.style.top = 23; obj.search_input_div4.style.width = obj.search_input_div1.clientWidth + 4; obj.search_input_input.style.width = (parseInt((obj.search_input_div1.style.width).replace('px', '')) - 30) + "px";}js の上部
//根据输入值查询function search_input_search(obj) { obj.search_input_show_div(); var value1 = obj.search_input_box.value; if (obj.search_input_now_value == value1) { return; } else { obj.search_input_now_value = value1; } var table = obj.search_input_table; var array_txt = value1.split(";"); var temp_txt = ""; var rows = table.rows; for (var i = 0; i < table.rows.length; i++) { var row = table.rows[i]; var txt = row.name; var show_flag = 0; // for (var j = 0; j < array_txt.length; j++) { temp_txt = array_txt[j]; if (j < array_txt.length - 1) { if (txt == temp_txt || CheckHasPY(txt,temp_txt)) { show_flag = 1; break; } } else if (txt.indexOf(temp_txt) > -1 || CheckHasPY(txt, temp_txt)) { show_flag = 1; break; } else { show_flag = 0; } } if (show_flag == 1) { row.style.display = "block"; } else { row.style.display = "none"; } }}if (document.attachEvent) document.attachEvent("onclick", hidden_search_div);else document.addEventListener("click", hidden_search_div, false);function hidden_search_div(e) { var target = (e && e.target) || (event && event.srcElement); var flag = 0; //0:表示不在控件内,1:在控件内 while (target) { if (target.getAttribute && target.getAttribute('name') == "search_input_div") { flag = 1; break; } target = target.parentNode; } if (flag == 0) { var divs = document.getElementsByTagName("div"); for (var i = 0; i < divs.length; i++) { if (divs[i] != null && (divs[i].getAttribute("name") == 'search_input_div3_name' || divs[i].getAttribute("name") == 'search_input_div4_name' || divs[i].getAttribute("name") == 'search_input_div5_name')) { divs[i].style.display = "none"; } } }}中央部分
参考として、検索機能を備えたオープンソースのドロップダウン ボックス プラグインが多数あります。例: FlexBox
は、検索エンジンのテキスト ボックスのオートコンプリート プラグインを実装しています
http://www.17sucai .com/preview/24598/2013-08-12/Jquery%E5%AE%9E%E7%8E %B0%E4%BB%BF%E6%90%9C%E7%B4%A2%E5%BC%95 %E6%93%8E%E6%96%87%E6%9C%AC%E6%A1%86 %E8%87%AA%E5%8A%A8%E8%A1%A5%E5%85%A8%E6 %8F%92%E4%BB%B6/demo.html
アイデアをください: 削除しないことをお勧めします。または項目 (行) を追加することもできます。dispaly:none は良い選択です
http://blog.csdn. net/xiaowanzi80hou/article/details/11020005
これは入力を含むドロップダウン ボックスで、キーアップを処理するときに、一致する検索を実行できます。

ブール属性は、値なしでアクティブ化されるHTMLの特別な属性です。 1.ブール属性は、無効化された入力ボックスを無効にするなど、存在するかどうかによって、要素の動作を制御します。 2.彼らの実用的な原則は、ブラウザが異なっているときに属性の存在に応じて要素の動作を変更することです。 3.基本的な使用法は、属性を直接追加することであり、高度な使用法はJavaScriptを介して動的に制御できます。 4.一般的な間違いは、値を設定する必要があると誤って考えており、正しい執筆方法は簡潔にする必要があります。 5.ベストプラクティスは、コードを簡潔に保ち、ブールのプロパティを合理的に使用して、Webページのパフォーマンスとユーザーエクスペリエンスを最適化することです。

HTMLコードは、オンラインバリデーター、統合ツール、自動化されたプロセスを使用するとクリーンになります。 1)w3cmarkupvalidationserviceを使用して、HTMLコードをオンラインで確認します。 2)リアルタイム検証のためにVisualStudiocodeにhtmlhint拡張機能をインストールして構成します。 3)HTMLTIDYを使用して、建設プロセスでHTMLファイルを自動的に検証およびクリーニングします。

HTML、CSS、およびJavaScriptは、最新のWebページを構築するためのコアテクノロジーです。1。HTMLはWebページ構造を定義します。2。CSSはWebページの外観に責任があります。

HTMLの機能は、Webページの構造とコンテンツを定義することであり、その目的は、情報を表示するための標準化された方法を提供することです。 1)HTMLは、タイトルやパラグラフなどのタグや属性を使用して、Webページのさまざまな部分を整理しています。 2)コンテンツとパフォーマンスの分離をサポートし、メンテナンス効率を向上させます。 3)HTMLは拡張可能であり、カスタムタグがSEOを強化できるようにします。

HTMLの将来の傾向はセマンティクスとWebコンポーネントであり、CSSの将来の傾向はCSS-in-JSとCSShoudiniであり、JavaScriptの将来の傾向はWebAssemblyとServerLessです。 1。HTMLセマンティクスはアクセシビリティとSEO効果を改善し、Webコンポーネントは開発効率を向上させますが、ブラウザの互換性に注意を払う必要があります。 2。CSS-in-JSは、スタイル管理の柔軟性を高めますが、ファイルサイズを増やす可能性があります。 CSShoudiniは、CSSレンダリングの直接操作を可能にします。 3. Webassemblyブラウザーアプリケーションのパフォーマンスを最適化しますが、急な学習曲線があり、サーバーレスは開発を簡素化しますが、コールドスタートの問題の最適化が必要です。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ホットトピック









