1. 一部の選択美化コードが元の選択コントロールの onchange イベントをトリガーできない問題を解決しました。 2. 選択オプションが更新後に同期できない問題を解決するために、$("...").selectCss() への複数の呼び出しを許可します。 使用方法は次のとおりです。 コードをコピーします コードは次のとおりです 無題ドキュメント <br>$(document).ready(function(){ <br>$( "select").selectCss(); <br></head> <br><body<名前を選択="" onchange= "alert(this.value)" id="select1"> <br><option value="1" title="オプション オプション オプション" >オプション 1</option> <br><br><br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> </div> <br> <strong> <br> </strong> ="" id= "select2"> <br><option value="1">オプション 31</option> <div class="codetitle"><option value="2"> オプション 32</option> ><オプション値 ="3"> 33 を選択 <span></select> <a style="CURSOR: pointer" data="15001" class="copybut" id="copybut15001" onclick="doCopy('code15001')"><u> </u> </a>メイン ファイル selectCss.css と selectCss.js を含む </span> </div>selectCss.js ファイル コード: コードをコピー コードは次のとおりです:<div class="codebody" id="code15001"> <br>(function($){ <br>function HideOptions(speed){ <br>if(speed.data){speed=speed.data} <br>if($(document).data(" nowselectoptions")) <br>{ <br>$($(document).data("nowselectoptions")).slideUp(speed); <br>$($(document).data("nowselectoptions")).prev ("div").removeClass("tag_select_open"); <br>$(document).data("nowselectoptions",null); <br>$(document).unbind("click",hideOptions); $(document).unbind("keyup",hideOptionsOnEscKey); <br>} <br>} <br>function hideOptionsOnEscKey(e){ <br>var myEvent = e || <br>var keyCode = myEvent.keyCode; <br>if(keyCode==27)hideOptions(e.data); <br>} <br>function showOptions(speed){ <br>$(document).bind("click",speed, HideOptions); <br>$(document).bind("keyup",speed,hideOptionsOnEscKey); <br>$($(document).data("nowselectoptions")).slideDown(speed); $(document).data("nowselectoptions")).prev("div").addClass("tag_select_open"); <br>} <br><br>$.fn.selectCss=function(_speed){ <br>$(this).each(function(){ <br>varspeed=_speed||"fast"; <br>if($(this).data("cssobj")){ <br>$($( this).data("cssobj")).remove(); <br>} <br>$(this).hide(); <br>var divselect = $("<div>gt;</div>").insertAfter(this).addClass("tag_select"); <br>$(this).data("cssobj",divselect); <br>var divoptions = $("<ul></ul>").insertAfter(divselect).addClass("tag_options").hide(); <br>divselect.click(function(e){ <br>if($($(document).data("nowselectoptions")).get(0) != $(this).next("ul")。 get(0)){ <br>hideOptions(speed); <br>} <br>if(!$(this).next("ul").is(":visible")) <br>{ <br>e.stopPropagation(); <br>$(document).data("nowselectoptions",$(this).next("ul")); <br>showOptions(speed); ); <br>divselect.hover(function(){ <br>$(this).addClass("tag_select_hover"); <br>} <br>, <br>function(){ <br>$(this).removeClass ("tag_select_hover") <br>}); <br>$(this).change(function(){ <br>$(this).nextAll("ul").children("li:eq(" $(this)[0].selectedIndex ")") .addClass("open_selected").siblings().removeClass("open_selected"); <br>$(this).next("div").html($(this).children("option:eq(" $ (this)[0].selectedIndex ")").text()); <br>$(this).children("option").each(function(i){ <br>var lioption= $("<li></li>").html($(this). text()).attr("タイトル",$(this).attr("タイトル")).appendTo(divoptions); <br>if($(this).attr("選択済み")){ <br> lioption.addClass("open_selected"); <br>divselect.html($(this).text()); <br>lioption.data("option",this); (function(){ <br>lioption.data("オプション").selected=true; <br>$(lioption.data("オプション")).trigger("変更",true) <br>}); <br>lioption.hover( <br>function(){$(this).addClass("open_hover");}, <br>function(){ $(this).removeClass("open_hover"); } <br>);<br>}); <br>}); <br>} <br>})(jQuery); <br><br> <br><br>selectCss.Css 文件代码: <br><br><br><br> </div> <br>复制代<strong><br></strong> 代码如下: <div class="codetitle"> <span> <a style="CURSOR: pointer" data="92975" class="copybut" id="copybut92975" onclick="doCopy('code92975')">.tag_select{display:block;color:#000;width:179px;height:23px;background:transparent url("images/index_22.jpg") no-repeat 0 0;padding: 0 10px;行の高さ:23px;色:#7D7D7D;フォントサイズ:12px;カーソル:ポインター} <u>.tag_select_hover{ color:#ff0000;背景:透明 url("selectbg.jpg") 繰り返しなし 0 0; } </u>.tag_select_open{ color:#0000ff;背景:透明 url("selectbg.jpg") 繰り返しなし 0 0;} </a>ul.tag_options{位置:絶対;マージン:0;リスト スタイル:なし;背景:#fff;パディング:0 0 1px;マージン:0;幅:162px ;高さ:100ピクセル;オーバーフロー:非表示;オーバーフロー-y:自動;フォントサイズ:12px;マージン左:10px;カーソル:ポインタ; z-index:1000 } </span>ul.tag_options li{background:#fff;表示:ブロック;幅:140ピクセル;パディング:0 10ピクセル;高さ:20ピクセル;テキスト装飾:なし;行の高さ:20ピクセル;色:#000;フォントの太さ:標準; font-size:12px} </div>ul.tag_options li.open_hover{背景:#0000ff;色:#000;フォントの太さ:標準; font-size:12px} <div class="codebody" id="code92975">ul.tag_options li.open_selected{background:#ccc;フォントサイズ:12px;フォントの太さ:太字; <br><br> <br>selectbg.jpg 画像: <br><br> </div>