HTML 選択タグにおける単一選択と複数選択の詳細な説明

HTML 選択タグにおける単一選択と複数選択の詳細な説明
select 要素は、単一選択または複数選択のメニューを作成します。フォームが送信されると、ブラウザは選択された項目を送信するか、カンマで区切られた複数のオプションを 1 つのパラメータ リストに収集し、<select> フォーム データをサーバーに送信するときに name 属性を含めます。

1. 基本的な使い方:

コードをコピー
コードは次のとおりです。

<選択>
<option value ="volvo">ボルボ</option>
<option value ="saab">サーブ</option>
<option value="opel">オペル</option>
<option value="audi">アウディ</option>
</選択>

このうち、</option>タグは省略してページ内で使用できる。

コードをコピー
コードは次のとおりです。

<SELECT NAME="studyCenter" id="studyCenter" SIZE="1">
<OPTION VALUE="0">すべて
<OPTION VALUE="1">湖北テレビ大学オンライン学習センター
<OPTION VALUE="2">成都師範大学オンライン学習センター
<OPTION VALUE="3">武漢職業技術大学オンライン学習センター
</選択>

次に、Select 要素では複数の項目を選択することもできます。次のコードを参照してください。

コードをコピー
コードは次のとおりです。

//複数属性がある場合は、複数の項目を選択できます。
<select name= “教育” id=”教育” multiple=”複数”>
<option value=”1”>高校</option>
<option value=”2”>大学</option>
<option value=”3”>医師</option>
</選択>
//以下には複数の属性はありません。表示されるのは 1 つの項目のみで、複数の選択は許可されません。
<名前を選択= “教育” id= “教育” >
<option value=”1”>高校</option>
<option value=”2”>大学</option>
<option value=”3”>医師</option>
</選択>
//以下はsize属性を設定した場合です。size=3の場合は3つのデータが表示されます。複数選択はできないので注意してください。
<select name="教育" id="教育" size='3'>
<option value="0">小学校</option>
<option value="1">中学校</option>
<option value="2">高校</option>
<option value="3">技術中等学校</option>
<option value="4">大学</option>
<option value="5">学士号</option>
<option value="6">大学院生</option>
<option value="7">医師</option>
<option value="8">ポスドク</option>
<option selected>選択してください</option>
</選択>

3. 複数選択 Select コンポーネントに関連するすべての一般的な操作:

1. 選択オプションに指定された値を持つアイテムがあるかどうかを判定する

コードをコピー
コードは次のとおりです。

@param objSelectId 検証するターゲット選択コンポーネントのID
@param objItemValue 存在を検証する値
関数 isSelectItemExit(objSelectId,objItemValue) {
var objSelect = document.getElementById(objSelectId);
var isExit = false;
if (null != objSelect && typeof(objSelect) != "undefined") {
for(var i=0;i<objSelect.options.length;i++) {
objSelect.options[i].value == objItemValueの場合{
isExit が true である。
壊す;
}
}
}
isExit を返します。
}

2. 選択オプションにアイテムを追加する

コードをコピー
コードは次のとおりです。

@param objSelectId アイテムに追加するターゲット選択コンポーネントのID
@param objItemText 追加するアイテムの内容
@param objItemValue 追加するアイテムの値
関数 addOneItemToSelect(objSelectId,objItemText,objItemValue) {
var objSelect = document.getElementById(objSelectId);
if (null != objSelect && typeof(objSelect) != "undefined") {
// この値の項目が選択リストに既に存在するかどうかを判定します
if(isSelectItemExit(objSelectId,objItemValue)) {
$.messager.alert('prompt message','この値を持つオプションはすでに存在します!','info');
} それ以外 {
var varItem = 新しいオプション(objItemText、objItemValue);
objSelect.options.add(varItem);
}
}
}

3. 選択オプションから選択した項目を削除します。複数選択と複数削除をサポートします。

コードをコピー
コードは次のとおりです。

@param objSelectId 削除するターゲット選択コンポーネントID
関数removeSelectItemsFromSelect(objSelectId) {
var objSelect = document.getElementById(objSelectId);
var delNum = 0;
if (null != objSelect && typeof(objSelect) != "undefined") {
for(var i=0;i<objSelect.options.length;i=i+1) {
if(objSelect.options[i].selected) {
objSelect.options.remove(i);
delNum = delNum + 1;
i = i - 1;
}
}
(delNum <= 0 )の場合
$.messager.alert('プロンプトメッセージ','削除するオプションを選択してください!','情報');
} それ以外 {
$.messager.alert('prompt message',''+delNum+' オプションを正常に削除しました!','info');
}
}
}

4. 指定した値で選択オプションからアイテムを削除します。

コードをコピー
コードは次のとおりです。

@param objSelectId 検証するターゲット選択コンポーネントのID
@param objItemValue 存在を検証する値
関数removeItemFromSelectByItemValue(objSelectId,objItemValue) {
var objSelect = document.getElementById(objSelectId);
if (null != objSelect && typeof(objSelect) != "undefined") {
//存在するかどうか判断する
if(isSelectItemExit(objSelect,objItemValue)) {
for(var i=0;i<objSelect.options.length;i++) {
objSelect.options[i].value == objItemValueの場合{
objSelect.options.remove(i);
壊す;
}
}
$.messager.alert('プロンプトメッセージ','正常に削除されました!','情報');
} それ以外 {
$.messager.alert('プロンプトメッセージ','指定された値のオプションが存在しません!','情報');
}
}
}

5. 選択中のすべてのオプションをクリアする

コードをコピー
コードは次のとおりです。

@param objSelectId クリアするターゲット選択コンポーネントID
関数 clearSelect(objSelectId) {
var objSelect = document.getElementById(objSelectId);
if (null != objSelect && typeof(objSelect) != "undefined") {
for(var i=0;i<objSelect.options.length;) {
objSelect.options.remove(i);
}
}
}

6. 選択したすべての項目を取得し、すべての値を文字列にまとめ、値の間にカンマを入れます。

コードをコピー
コードは次のとおりです。

@param objSelectId ターゲット選択コンポーネント ID
@return 選択範囲内のすべての項目の値をカンマで区切って返します
関数 getAllItemValuesByString(objSelectId) {
var selectItemsValuesStr = "";
var objSelect = document.getElementById(objSelectId);
if (null != objSelect && typeof(objSelect) != "undefined") {
var 長さ = objSelect.options.length
for(var i = 0; i < 長さ; i = i + 1) {
(0 == i)の場合{
selectItemsValuesStr = objSelect.options[i].value;
} それ以外 {
selectItemsValuesStr = selectItemsValuesStr + "," + objSelect.options[i].value;
}
}
}
selectItemsValuesStr を返します。
}

7. 1つの選択範囲で選択したすべてのオプションを別の選択範囲に移動する

コードをコピー
コードは次のとおりです。

@param fromObjSelectId モバイルアイテムの元の選択コンポーネントID
@param toObjectSelectId 移動アイテムが移動するターゲット選択コンポーネントID
関数moveAllSelectedToAnotherSelectObject(fromObjSelectId, toObjectSelectId) {
var objSelect = document.getElementById(fromObjSelectId);
var delNum = 0;
if (null != objSelect && typeof(objSelect) != "undefined") {
for(var i=0;i<objSelect.options.length;i=i+1) {
if(objSelect.options[i].selected) {
選択する項目を追加します(toObjectSelectId、objSelect.options[i].text、objSelect.options[i].value)
objSelect.options.remove(i);
i = i - 1;
}
}
}
}

8. すべてのオプションを1つの選択から別の選択に移動する

コードをコピー
コードは次のとおりです。

@param fromObjSelectId モバイルアイテムの元の選択コンポーネントID
@param toObjectSelectId 移動アイテムが移動するターゲット選択コンポーネントID
関数moveAllToAnotherSelectObject(fromObjSelectId, toObjectSelectId) {
var objSelect = document.getElementById(fromObjSelectId);
if (null != objSelect) {
for(var i=0;i<objSelect.options.length;i=i+1) {
選択する項目を追加します(toObjectSelectId、objSelect.options[i].text、objSelect.options[i].value)
objSelect.options.remove(i);
i = i - 1;
}
}
}

<<:  この記事では、CSSの2列レイアウトと3列レイアウトの具体的な使い方をまとめます。

>>:  アカウントとパスワードを記憶する機能を実現するVueの考え方とプロセス

推薦する

VueはPCで写真をアップロードする機能を実現

この記事の例では、PC上で写真アップロード機能を実現するためのVueの具体的なコードを参考までに共有...

10分でDockerを使ったマイクロサービスのデプロイ方法を学ぶ

Docker は 2013 年のリリース以来、広く注目され、ソフトウェア業界を変える可能性を秘めてい...

MySQL binlog_ignore_dbパラメータの具体的な使用法

序文:前の記事を読んだ後、binlog はデータベースで実行されたすべての DDL および DML ...

MySQL 5.0.96 for Windows x86 32 ビット グリーン簡易版インストール チュートリアル

MySQL 5.0 は、いくつかの「高度な機能」があるため定番となっています。これは、Windows...

Reactフックの長所と短所

目次序文アドバンテージ:欠点: 1. レスポンシブな使用効果2. ステータスが同期されていないRea...

ova ファイルを VMware にインポートする際の落とし穴の概要

問題の原因ご存知のとおり、すべてのネットワーク動作は対応するネットワークトラフィックを生成し、すべて...

画像のプリロードと遅延ロードを実装するJavaScript

この記事では、JavaScriptで画像のプリロードと遅延ロードを実装するための具体的なコードを参考...

mysql indexof関数の使用手順

以下のように表示されます。 LOCATE(部分文字列、文字列)文字列 str 内の部分文字列 sub...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

VueはExcelデータをエクスポートするパブリック関数メソッドをカプセル化します

vue+element UI は Excel データをエクスポートするためのパブリック関数をカプセル...

モバイル Web アプリ上の画像が鮮明ではなく、非常にぼやけているのはなぜですか?

なぜ?最も簡単に言えば、ピクセルは均等ではないということです。携帯電話に表示される写真はとても繊細に...

mysql5.7.14 解凍版インストールと設定方法 グラフィックチュートリアル (win10)

Win10はmysql5.7の解凍版をインストールします。参考までに、具体的な内容は次のとおりです...

Linuxカーネルのアクセス制御セキュリティを強化する方法

背景以前、当社のプロジェクト チームは、Windows、Linux、macOS の 3 つの主要なオ...

テキストの円形スクロールアニメーションを実装するミニプログラム

この記事では、参考までに、テキストループスクロールを実現するアプレットの具体的なコードを例を挙げて紹...

MySQL フラッシュバック ツール binlog2sql の詳細なインストールと設定のチュートリアル

概要binlog2sql は、Python で開発されたオープンソースの MySQL Binlog ...