ホームページ ウェブフロントエンド jsチュートリアル jquery_jquery に基づく複数選択可能なドロップダウン リスト ボックス

jquery_jquery に基づく複数選択可能なドロップダウン リスト ボックス

May 16, 2016 pm 05:51 PM

同僚は、インターネット上でドロップダウン リスト ボックスの位置の誤りや読み込みの遅さなどのバグを発見しました。とにかく、複数選択のドロップダウン リスト ボックスの実装は、複雑な構造ではなく、非常にシンプルです。コードを再実装することをお勧めします。

最初に効果を見てください: http://demo.jb51.net/js/2012/jquery_demo/jquery_select.html

JS:

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

(function ($) {
$.fn.extend ({
MultDropList: function (options) {
var op = $.extend({ WraperClass: "wrapper", width: "150px", height: "200px", data: "", selected: "" }, options);
return this.each(function () {
var $this = $(this); //TextBox へのポイント
var $hf = $(this).next(); //非表示のコントロール ストレージへのポイント
var conSelector = "#" $this.attr("id") ",#" $hf.attr("id")
var $wrapper = $(conSelector); .wrapAll("
").parent().parent().addClass(op.wrapperClass);
var $list = $('
').appendTo($wrapper);
$list.css({ "width": op.width, "height": op.height }) ;
//ポップアップ ページの表示と非表示を制御します
$this.click(function (e) {
$list.toggle();
e.stopPropagation();
} );
$(ドキュメント ).click(function () {
$list.hide();
});
$list.filter("*").click(function (e) ) {
e.stopPropagation ();
});
//デフォルトデータをロードします
$list.append('
  • すべて
');
var $ul = $list.find("ul") ;
//json データの読み込み
var listArr = op.data.split("|");
var jsonData;
for (var i = 0; i jsonData = eval("(" listArr[i] ")");
$ul.append('
  • ');
    }
    //チェックオプションをロードします
    var seledArr;
    if ( op.selected.length > 0 ) {
    seledArr = selected.split(",");
    else {
    seledArr = $hf.val().split("," );
    }
    $.each(seledArr, function (index) {
    $("li input[value='" seledArr[index] "']", $ul).attr("checked ", "checked");
    var vArr = new Array();
    $("input[class!='selectAll']:checked", $ul).each(function (index) {
    vArr[インデックス] = $(this).next().text();
    $this.val(",");
    //すべて選択またはすべてを選択 Uncheck
    $("li:first input", $ul).click(function () {
    if ($(this).attr("checked")) {
    $("li input ", $ul).attr("checked", "checked");
    }
    else {
    $("li input", $ul).removeAttr(" selected");
    }
    });
    //他のチェックボックスをクリックすると、非表示のコントロールの値とテキストボックスの値が更新されます
    $("input", $ul)。 click(function () {
    var kArr = new Array();
    var vArr = new Array();
    $("input[class!='selectAll']:checked", $ul) .each(function (index) {
    kArr[index] = $(this).val();
    vArr[index] = $(this).next().text();
    } );
    $hf.val (kArr.join(","));
    }
    }) ;
    })(jQuery);
    $(document).ready(function () {
    $("#txtTest").MultDropList({ data: $ ("#hfddlList").val( ) });



    CSS:




    コードをコピーします


    コードは次のとおりです:
    .wrapper { 位置: } 。リスト
    {
    幅: 200 ピクセル;
    高さ: 200 ピクセル;
    位置: 絶対;
    表示: なし;
    背景: なし繰り返しスクロール 0 0 #F0F6E4 ;
    float: left;
    }
    .list ul li
    {
    padding-left: 10px; : 2px;
    padding-bottom: 2px;
    border-top: 1px ソリッドブラック
    }
    list-style:none 外側
    }


    HTML:




    コードをコピー


    コードは次のとおりです:



    ;div style="margin-left: 300px; height: 30px;">


    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

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

    SublimeText3 中国語版

    SublimeText3 中国語版

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

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

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

    独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

    記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

    ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? ブラウザでのパフォーマンスのためにJavaScriptコードを最適化するにはどうすればよいですか? Mar 18, 2025 pm 03:14 PM

    この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

    フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? フロントエンドのサーマルペーパーレシートのために文字化けしたコード印刷に遭遇した場合はどうすればよいですか? Apr 04, 2025 pm 02:42 PM

    フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

    誰がより多くのPythonまたはJavaScriptを支払われますか? 誰がより多くのPythonまたはJavaScriptを支払われますか? Apr 04, 2025 am 12:09 AM

    スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

    ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? ブラウザ開発者ツールを使用してJavaScriptコードを効果的にデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:16 PM

    この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

    JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? JavaScriptを使用して、同じIDを持つArray要素を1つのオブジェクトにマージする方法は? Apr 04, 2025 pm 05:09 PM

    同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

    ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? ソースマップを使用して、マイナイドJavaScriptコードをデバッグするにはどうすればよいですか? Mar 18, 2025 pm 03:17 PM

    この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

    javascriptの分解:それが何をするのか、なぜそれが重要なのか javascriptの分解:それが何をするのか、なぜそれが重要なのか Apr 09, 2025 am 12:07 AM

    JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

    See all articles