ホームページ php教程 PHP开发 JavaScript+PHP アプリケーション 1: Web ページ制作におけるダブル ドロップダウン メニューの動的実装

JavaScript+PHP アプリケーション 1: Web ページ制作におけるダブル ドロップダウン メニューの動的実装

Nov 25, 2016 am 09:37 AM

Web ページの制作では、メインのドロップダウン メニューを選択すると、サブドロップダウン メニューが動的に生成されるという状況がよく発生します。例:メインメニューには「フォーカスニュース」、「ライフスタイル」、「ムードストーリー」の3つがあり、「フォーカスニュース」を選択すると、「国内」、「海外」、「スポーツ」などのサブメニューが自動生成されます。 」、「エンターテイメント」など。

JavaScriptを使用すると、上記の効果を簡単に実現できます。しかし、問題は、メニューのオプションがデータベース (または他のファイル) から動的に抽出される場合、実装が簡単ではないことです。筆者の実践経験をもとに、javascript + phpを使った実装方法を紹介します。 この記事のデータベースはmysqlを使用しています。この例では、フォームを送信するたびにメニュー オプションの前の選択状態に戻る方法も紹介します。

記事内で紹介されているphpの機能はデータベースからメニューオプションを抽出することであり、もう1つの機能はJavaScriptコードを生成することです。読者は、ASP など、使い慣れた独自のインタープリター言語を使用できます。

コードを簡素化するために、メイン メニューは HTML で構築されていると仮定しています。サブメニューは動的デザインが必要なので、HTML コードは次のとおりです。

="smenu"> / /サブメニューのデザイン



考慮する必要があるのは、メニューの onchange() イベントに対して完了する必要がある手順です。一般的なプロセスは、メイン メニュー オプションに基づいてサブメニュー項目を構築することです。サブメニューの項目テキストは事前に設定しておくとよいでしょう。このアイデアに基づいて、作成者は JavaScript で結合された配列を使用してサブメニュー オプションを記録し、ロード時に PHP によって自動的に生成されます。したがって、作成者は次の JavaScript 関数 setmenu() を設計しました。

function setmenu(){

menu=array("a","b","c"); php //php プログラムを開始します

$db = new my_db();

$db->database = "***"; //ここでは phplib を使用します

$mmenu = array ("a","b","c"); //作者はここで簡略化しました

for ($i=0;$i
$id = $ mmenu [$i];

$db->query("select menu from class where menuid ='".$id."'");

//メニュー オプションが次のメニュー フィールドに格納されていると仮定します。クラステーブル、menuid はメニューを識別するための

while ($db->next_record()){

$smenu[] = """.$db->f("menu")"" です。 ";

}

if (isset($smenu) && is_array($smenu)){

$str = implode(",",$smenu);

echo "menu["$id"] =array ($str);ntt";

//メニューユニオン配列の入力を完了します

unset($smenu); //smenu変数を削除します

}

}

?> //phpを終了しますProgram

with (document) {

id= all("mmenu").value; // メインメニューの値を取得

arr_menu=menu[id];

for(i=all("smenu") ).options.length;i>=0;i- -){

all("smenu").options.remove(i); //元の項目をクリアする必要があります

}

if (arr_menu.length= =0){

return;

}

for(i=0;i
obj=createelement("option");

obj.text=arr_class[i];

all("smenu").options.add (obj);

}

}

}

このようにすると、ドキュメントが表示されるたびに、php 部分が JavaScript 言語として解釈され、メインメニューをクリックすると、サブメニューが自動的に更新されます。同様に、読者はこのアイデアに基づいて、より複雑な複数のメニュー オプションを作成できます。

最後に、著者は、フォームが送信された後にメニュー項目の最後の状態を維持する方法を簡単に紹介します。実際にはさまざまな手法がありますが、著者は陰的変数法を使用します。次のコードをフォームに追加します:



を追加するだけです。 onsubmit() イベントの各暗黙変数に値を割り当てます。つまり:

document.all("h1").value=document.all("mmenu").selectedindex;document.all("h2").value=document.all("smenu").selectedindex;

暗黙的な変数を使用するには、ドキュメント本体の onload() イベントで、php メソッド (その他のメソッド) を使用します。 ) を使用してメニューの表示を制御することもできます:


if (!isset($h1)){ // $h1

$h1 = 0 のみを判断する必要があります。 = 0;

}

echo "document.all("mmenu").selectedindex=".$h1.";ntt";

echo "document.all("mmenu").click();ntt" ;

echo "document.all("mmenu").selectedindex=".$h1.";ntt";

echo "document.all("smenu").selectedindex=".$h2?> ;

これまで、ダブルドロップダウンメニューの動的実装方法を説明しました。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)