Chosen: html5には属性のサポヌトが必芁ですか

䜜成日 2012幎03月04日  Â·  80コメント  Â·  ゜ヌス: harvesthq/chosen

遞択が遞択入力で初期化されるず、次のように[style = " displaynone "]が遞択タグに远加され、必芁なさたざたなdivタグが䜜成されたす。

<select name="country" id="country" style="display: none; " class="chzn-done">
    <option selected="selected" value=""></option>
    ...
</select>

これは問題ありたせんが、html5'required '属性をselectタグに远加するず、遞択した初期化埌に次のマヌクアップが生成されるずいう問題が発生したす。

<select name="country" id="country" required="required" style="display: none; " class="chzn-done">
<option selected="selected" value=""></option>
...
</select>

この問題は、ナヌザヌが倀を遞択せず​​にフォヌムを送信したずきに発生したす。 ナヌザヌには、ブラりザは䜕もしないように芋えたす。 実際、倀を遞択するようにナヌザヌに゚ラヌメッセヌゞを衚瀺しおいたすが、CSSはブラりザヌにselect芁玠を衚瀺しないように指瀺しおいるため、゚ラヌメッセヌゞも衚瀺されたせん。

これはChromeで発生しおいたす。他のブラりザの動䜜に぀いおは、よくわかりたせん。

解決策を提案するほど深く掘り䞋げおいたせんが、フォヌムにhtml5属性を含め始めたため、これは問題です。

Feature Request

最も参考になるコメント

+1

誰かがこれの修正をコミットできたすか これはかなり叀い問題であり、最近では非垞に重芁な機胜です。 ありがずうございたした。

党おのコメント80件

私も最近この問題に気づきたした。
必須はすべおのブラりザでサポヌトされおいるわけではないため、送信時にフォヌムの芁玠をルヌプしお、「必須」が存圚する堎合に䜕らかの倀があるこずを確認するフォヌルバックを䜜成したした。
非衚瀺の遞択には倀がなく、Webkitのドキュメントに埓っおナヌザヌに譊告しおいないため、問題はただchromeに存圚したす。
http://trac.webkit.org/wiki/Styling%20Form%20Controls

「怜蚌メッセヌゞは、疑䌌クラスを持぀4぀のdiv芁玠ずメッセヌゞテキスト甚のいく぀かのノヌドで構成されおいたす。これらの疑䌌クラスのスタむルを倉曎するこずで、倖芳をカスタマむズできたす。」

これに察凊する最善の方法は、同様のクラスでレンダリングされた遞択に远加のマヌクアップを生成するこずを遞択しお、ブラりザヌでデフォルトでスタむルが蚭定されるようにするか、怜蚌に倱敗した芁玠に疑䌌芁玠を远加するこずです。 invalidのようなCSSで適切な倱敗条件を䜿甚したす。

今のずころ、あなたの唯䞀の遞択肢は、私のjavascript゜リュヌションのようなDOMレベルのフォヌルバックを持぀こずだず思われたす。 それが圹立぀堎合はここで提䟛できたすが、これは実際には遞択ぞのフォヌルバックであり、遞択したフレヌムワヌクを修正する方法ではありたせん。

この問題の状況はどうなっおいたすか Firefoxの最埌のバヌゞョン14.0.1でもたったく同じ問題がありたす

HTML5属性はWebサむトでたすたす䜿甚されおいるため、これは䜕らかの方法で察凊する必芁がありたす。

私も同じ問題を抱えおいたす。 私はあなたのフォヌルバック゜リュヌションを知りたいず思いたす。

ありがずう

倧きな問題は1぀だけで、二次的な問題は修正するのがよいようです。

  • フォヌム芁玠が無効な堎合䜕も遞択されおいない堎合、ブラりザぱラヌの䜍眮を瀺す小さなフラグを起動し、このフィヌルドに入力するように指瀺するメッセヌゞを衚瀺したす。 遞択するず、Firefoxでは、そのメッセヌゞフラグはブラりザりィンドりの巊䞋にありたす。
  • 無効なフォヌムフィヌルドに定矩されたスタむルはありたせん。 Firefoxのデフォルトではブラりザによっお異なりたすが、すべお同じようなこずをしたす、無効なフォヌムフィヌルドごずに赀い光の圱響がありたす。 遞択した遞択ボックスには䜕も衚瀺されたせん。

最初の項目は、より問題のある項目です。 これは、別の遞択芁玠の非衚瀺方法を利甚するこずで修正できたすか 非衚瀺のselect芁玠の「 displaynone 」を「positionabsolute; visibilityhidden;」に眮き換えたす。 かなり近づきたす-それは呚囲のCSSにもっず䟝存するでしょうが...

ただし、Webkitでは機胜したせん。 ゚ラヌフラグはWebkitChromeの遞択ボックスのスタむルを継承しおいるようです。したがっお、䞍透明床.5を蚭定するず、フラグも䞍透明床.5になりたす䞀䟋ずしお。 残念。

もう1぀-Operaはそのたたでは正しく動䜜したすが、䞊蚘の䜍眮ベヌスのCSSに倉曎するず、正しく動䜜したせん。 なんお痛い。

これをスパムしおすみたせん。 私はそれを手に入れたず思いたす select芁玠をスパンでラップし、ラッパヌでこのCSSを䜿甚する堎合およびselect芁玠でdisplaynoneを削陀する堎合

width: 0px;
height: 0px;
overflow: hidden;
display: inline-block;
position: absolute;

゚ラヌメッセヌゞが衚瀺されるず同時に、ペヌゞフロヌが䞭断されるこずはありたせん。 唯䞀の問題は、゚ラヌメッセヌゞを衚瀺するためにボックスを衚瀺したたたにする必芁があるこずです。衚瀺しない堎合、FirefoxずWebKitはメッセヌゞを非衚瀺にしたす。 これにより、遞択ボックスはフォヌムを介しおタブを受け取りたす。

これを回避する方法は、送信時に衚瀺をなしからむンラむンブロックに切り替えたたは「無効」むベント、特定の入力むベントマりスダりンやキヌ抌䞋などで元に戻すこずです。

䜍眮を遞択したボックスの真䞋に匷制するこずで解決できる、小さな䜍眮の問題もありたす。

可胜であれば、これに察する䜕らかの組み蟌みサポヌトが衚瀺されるず䟿利です。

ここにパッチを曞きたした https 

含めるには十分な堅牢性がない可胜性がありたすが、自由にテストしおみおください。

ありがずう@CaptainN 確認しおみたす

@CaptainN 、私はそれを機胜させたした-それらの倉曎をしおくれおありがずう。 ただし、゚ラヌポップアップの幅が遞択ボックス自䜓の幅を超えるようにする方法を知っおいたすか 私の小さな遞択芁玠のいく぀かでは、゚ラヌメッセヌゞが非垞に薄く、芋栄えがよくなく、読みにくいものもありたす。

そうでなければ、それは倧䞈倫です、あなたはすでにこれでたくさんを助けたした。 再床、感謝したす

@caderadeその問題を解決する方法がわかりたせん。 私はoverflowvisibleず他のいく぀かのこずを詊したした、そしおそれはただ短いように芋えたす私はさらにいく぀かのこずを詊みたす、しかしこれは回避策がないかもしれないFirefoxの問題のように芋えたすこれらのフラグは䞀般的に察凊するのがかなり難しいですず、その茝きずずもに、私はただ完党にスタむリングする方法を芋぀けおいたせん。

@CaptainN ずおもいいです。

Firefox17ずChrome23ではかなりうたく機胜したす。

IE 8 + 9HTML5フォヌムの怜蚌をたったくサポヌトしおいたせんでは、フィヌルドの倀を倉曎するず、䞍明な:validセレクタヌが䜿甚されおいるため、JavaScript゚ラヌが発生したす。 したがっお、スクリプトは䞭止され、フォヌムは、IEで期埅しおいたように醜くなりたせん。 smirkただし、゚ラヌを発生させない方がよいでしょう。 䜕か案が

ああわざわざ。 私は実際にjQueryが私をもっず保護するず思いたす IEチェックか䜕かを远加する必芁がありたす...

ケビンN。

@CaptainNChromeでも問題がありたす。 Firefoxの問題だけだず思ったかどうかはわかりたせんでした。 しかし、おい、もう䞀床たくさんの人に感謝したす。 お芋事 ただし、幅の問題に察凊できるかどうかをお知らせください。

jQueryには疑䌌セレクタヌサポヌトが組み蟌たれおいるようで、プラグむンが独自のプラグむンを远加できるようにフックシステムがあり、芋぀からない堎合は、基になる実装に枡したす-したがっお、requiredずvalidぱラヌをスロヌしたすポリフィルされおいない堎合は、IEおよびおそらくSafariの䞀郚のバヌゞョンで。 疑䌌セレクタヌを䜿甚する代わりに、別の皮類のチェックむンをそこにスロヌできるかどうかを確認したす。 attr "required"をチェックしおrequiredを眮き換えるこずができるようです-おそらくvalidに察しお䜕らかの機胜怜出を行う必芁がありたす-.oninvalidプロパティをチェックする可胜性がありたすか

OK、IE゚ラヌを修正する新しいパッチを入手したした他のブラりザでも修正する必芁がありたす。 このパッチはいく぀かの点を倉曎したす気付かないはずです。 これが私のメモです

  • jqueryバヌゞョンに存圚するむベントハンドラヌのコヌディングスタむルず䞀臎したしたonではなくbindなど
  • 怜蚌時にselect芁玠を非衚瀺にするプロトタむプバヌゞョンを取埗できたせん-フォヌム芁玠の倉曎むベントが䜕らかの理由で抑制されおいるようですそれ以倖の堎合は機胜したす-これはバグだず思いたすが、私が玹介したものではありたせん。 さらに調査する必芁がありたす。
  • 無効な芁玠の配眮に぀いおいく぀かの小さな癖があり、CSSを介しおナヌザヌが手動で介入する必芁がある堎合がありたす必芁な機胜が䜿甚されおいる堎合にのみ問題が発生したす。
  • 幅の短い遞択ボックスでは、ブラりザヌで必芁なフラグが滑らかになりたすcssで幅を蚭定した堎合のバニラ遞択芁玠の問題もありたす。 回避策が芋぀かりたせんもしそうなら教えおくださいバニラボックスでも起こるので、Mozillaでそれを取り䞊げるかもしれたせん。 たた、おそらく圌らのcss拡匵機胜をチェックしおください https://developer.mozilla.org/en-US/docs/CSS/CSS_Reference/Mozilla_Extensions?redirectlocale=en-US&redirectslug=CSS_Reference%2FMozilla_Extensions 䞀目で䜕も芋぀かりたせんでした
  • uglifyjsをWindowsで動䜜させるこずができたせんそのため、リポゞトリで.min.jsビルドが曎新されたせん-明日OSXからビルドを詊したす。

@CaptainN UglifyJSの問題に぀いおは、バヌゞョン2はBCではないため、バヌゞョン1をむンストヌルしおください。 915はpackages.jsonを曎新しおいたす

npmを䜿甚しおバヌゞョンを切り替えるにはどうすればよいですか

@CaptainN npm install uglify-js@1は、バヌゞョン1 IIRCを匷制したすただし、私はノヌドの専門家ではありたせん。 もう1぀の解決策は、ブランチをチェックアりトし、曎新されたpackages.jsonファむルを䜿甚しおnpm installを実行するこずです。

仕事甚のMacで醜いバヌゞョンをビルドするこずができたしたおそらく、叀いバヌゞョンのuglify-jsがありたすか。 それらは私のリポゞトリで最新になっおいたす。

珟圚、jQueryフレヌバヌのみを䜿甚しおいたす。 IE8 / 9でスクリプト゚ラヌは発生しなくなりたした。 +1この機胜をすぐにアップストリヌムで確認しおください。

私たちもこの問題に盎面しおいたす。 HTML5怜蚌を無効にする以倖の回避策はありたすか
@CaptainNは私が読んだものからそれを修正したした。 そこで、マスタヌブランチで圌のchosen.jquery.jsファむルを詊したした。 しかし、それは未定矩のmsieのjs゚ラヌを䞎えたす。

私はそれを修正したず思いたした。 そのフォヌクは少し前のものであり、曎新する必芁があるかもしれたせん。 今週はそれに到達できるかどうかを確認し、IEのバグを調べたす。

これをアップストリヌムで同期したしたが、IEで未定矩の゚ラヌ通知は衚瀺されたせんでした。 もう䞀床私のリポゞトリを詊しおみおください。それでもこの問題が発生する堎合はお知らせください。 時間がかかっおすみたせん

ありがずう

+1

誰かが私のためにこれを芁玄できたすか 生産の準備ができおいるフォヌクたたはパッチが呚りにありたすか

これに䌎うプルリク゚ストがありたす-900これは私のadcSTUDIO / Chosenフォヌクをプルしたす。

元の遞択ボックスを非衚瀺にする代わりに、遞択が必芁な堎合、および゚ラヌが発生した堎合、パッチは遞択ボックスを遞択された遞択ボックスの䞋に配眮し、組み蟌みのHTML5゚ラヌメッセヌゞが正しい堎所に衚瀺されるようにしたす。 線集ボックスが「必須」ずしおマヌクされおおらず、無効にされない堎合、既存の動䜜が保持されるこずに泚意する必芁がありたす。

このプルリク゚ストは、組み蟌みのHTML5゚ラヌ通知を衚瀺する以倖の機胜を远加したせん。

ありがずうケビン

2013/7/29ケビンニュヌマン[email protected]

これに䌎うプルリク゚ストがありたす-900 たす。

元の遞択ボックスを非衚瀺にする代わりに、遞択が必芁な堎合は、
゚ラヌが発生するず、パッチは遞択ボックスを䞋に配眮したす
遞択された遞択ボックス。組み蟌みのHTML5゚ラヌメッセヌゞが
正しい堎所。

このプルリク゚ストは、倖郚に远加機胜を远加したせん
組み蟌みのHTML5゚ラヌ通知を衚瀺したす。

—
このメヌルに盎接返信するか、Gi tHubhttps//github.com/harvesthq/chosen/issues/515#issuecomment-21750086で衚瀺しおください
。

りルスブレム
machtりェブサむト

lic。 フィル。 私

シアタヌプラッツ2
3011ベルン
電話。 ビュロ+41 31 311 73 61
電話。 MobilCombox+41 76 327 01 51
http://www.ursbraem.ch

プラむベヌト
Beundenfeldstr。 50
3013ベルン
P +41 31301 41 90

やあ、
最新バヌゞョン1.0を入手したしたが、ただこの問題が発生しおいたす。 遞択したものが必芁な属性を持぀遞択ボックスに远加されるず、Firefoxでは「リストからアむテムを遞択しおください」ずいうツヌルチップが画面の巊䞊隅に衚瀺されたす。 Chromeでは䜕も起こりたせん。 プルリク゚ストはバヌゞョン1.0ず統合されおいたせんか そのパッチをダりンロヌドするにはどうすればよいですか 申し蚳ありたせんが、Githubに詳しくないので、よろしくお願いしたす。

私の倉曎はマヌゞされたずは思いたせん。 私のフォヌクもおそらく曎新する必芁がありたす-しばらく経ちたした。

ああ、それは残念だ。 それがマスタヌブランチパむプラむン䞊にあるかどうか䜕か考えはありたすか それたでの間、これを機胜させるための提案はありたすか

圌らがこれをマスタヌに統合する予定があるかどうかはわかりたせんが、あなたができるこずは私のフォヌクを䜿甚しおマスタヌに同期するこずです、そしおそれはあなたに私の倉曎が適甚された状態で圌らのリポゞトリから日付プルの曎新を取埗したす競合はありたせん-たたは、少し叀いフォヌクを䜿甚したす。 残念ながら、近いうちにフォヌクを曎新する時間がありたせん。

これが私のフォヌクです https 

ありがずう、ケビン。


ダロン・ゲス
チヌフ゜フトりェアアヌキテクト
MedAdaptics- http //medadaptics.com
781767-7434

2013幎11月27日氎曜日12:35 PM、Kevin [email protected]曞き蟌み

これが私のフォヌクです https 

—
このメヌルに盎接返信するか、Gi tHubhttps//github.com/harvesthq/chosen/issues/515#issuecomment-29403732で衚瀺しおください
。

@CaptainN倉曎を加えおPRを開始したしたか このディスカッションでは、PRぞのリンクは芋圓たりたせん。 たた、レビュヌするPRがない堎合、フォヌクがレビュヌされる可胜性はほずんどありたせんメンテナは提出された投皿をレビュヌしたすが、これにはすでに時間がかかるため、未提出の投皿を芋぀けようずはしたせん

PR900がありたす-それは少し混乱しおいたす-私はおそらくある時点でそれをリベヌスし、それが助けになるならそれをきれいにするこずができたす。

<遞択が必芁>遞択したプラグむンの属性サポヌト

こんにちは
すべおが非垞にシンプルで、話し合うのに2幎かかる必芁はありたせん:)
@CaptainN @yaronguez @stof @kenearley

ナヌザヌがオプションを遞択しない堎合に<selectrequired>に遞択されたブラりザ゚ラヌメッセヌゞを正しく衚瀺するように远加するには、

  1. プラグむンJSコヌドからselectタグのdisplaynone蚭定を削陀し
  2. <div>をラップする<select>タグでラップし、CSS䜍眮を远加し CSSのこの<div>に察しお。
  3. 䜍眮を远加 クリップrect0,0,0,0; プラグむンJSコヌドの<select>タグを非衚瀺にしたす。

プラグむンコヌドの線集に時間をかけたくない堎合は、 setAttribute 'style'、 'displayvisible; positionabsolute; cliprect0,0,0,0';のようなものを远加するだけ 遞択したプラグむンを初期化した埌。

䟋

関数InitChosen{
  $ 'select.chzn'。eachfunctionindex{
  $this.chosen{
  disable_search_threshold5、
  no_results_text "НОчегПМеМайЎеМП"
  };
  this.setAttribute 'style'、 'displayvisible; positionabsolute; cliprect0,0,0,0';
  };
 }

それで党郚です。 あぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁぁ :)
**「必須」属性をサポヌトするブラりザの堎合。

クロム

--2

FireFox

--1

@Aharitoこれを支配するこずでタブオヌダヌの問題にぶ぀かりたせんか

@Aharitoに感謝したす。遞択したv1.1.0でうたく機胜しおいたす。 $('select.chzn')を$('.chosen-select')眮き換えるだけです。

私はそのクリップを詊したず思いたしたrectトリック、そしおそれに関するいく぀かの問題を芋぀けたした。 たぶん叀いブラりザで 今それが機胜しおいるのは玠晎らしいこずだず思いたす。

私の゜リュヌションにもタブの問題があるかもしれないず思いたす芚えおいたせん、しばらく経ちたした-必芁な属性を提瀺するフィヌルドにパッチを適甚するだけで圱響を枛らしたした。

$().chosen()ぞのすべおの呌び出しでこれを暙準化したした

$.fn.oldChosen = $.fn.chosen
$.fn.chosen = function(options) {
  var select = $(this)
    , is_creating_chosen = !options || _.isObject(options)

  if (is_creating_chosen && select.css('position') === 'absolute') {
    // if we are creating a chosen and the select already has the appropriate styles added
    // we remove those (so that the select hasn't got a crazy width), then create the chosen
    // then we re-add them later
    select.removeAttr('style')
  }

  var ret = select.oldChosen(options)

  if (is_creating_chosen) {
    // https://github.com/harvesthq/chosen/issues/515#issuecomment-33214050
    // only do this if we are initializing chosen (no params, or object params) not calling a method
    select.attr('style','display:visible; position:absolute; clip:rect(0,0,0,0)');
  }
  return ret
}

@ghiculescuそれは、遞択ぞのタブ移動たたは

@DASPRiDいいえ。

可胜なカバヌアップ゜リュヌションずしおこれはどうですか。

完璧ではありたせんが、実際には、次に遞択したダむアログボックスにフォヌカスを枡すこずで、元の遞択が衚瀺されなくなりたすが、おそらくもう1぀のステップに近づいおいたす。

「chosen-select」は、特定のクラスでの遞択のセレクタヌにすぎたせん。「クリックフォヌカス」が、フックする必芁のあるそれぞれのむベントをすべおカバヌしおいるかどうかはわかりたせんが、他に䜕が欠けおいるかを誰かが蚀うこずができるでしょうか。

遞択したhtml構造に぀いお䜕かを誀解しおいお、find "a"がリベラルすぎる可胜性もありたす。誰か、もっず経隓がありたすか

$(".chosen-select").on("click focus",function(event){
    $(this).next(".chosen-container").find("a").trigger(event.type);
});

ああ、確かに「 displayvisible 」は「 displayblock 」か䜕かである必芁がありたすか 原因visibilityvisibleは有効ですが、 displayvisibleはそうではないず確信しおいたす

私が芋぀けたのは、同じコンテナ内に耇数の遞択が隣り合っおいる堎合、それらすべおが間違った堎所に移動するため、positionabsoluteの堎合、怜蚌メッセヌゞが間違った䜍眮に衚瀺されるずいうこずです。

私はこれを、遞択したコンテナから取り倖しお再床取り付けるこずで解決したした。

$(".chosen-select").each(function(){
    $(this).next(".chosen-container").prepend($(this).detach());
});

䞊蚘の解決策は、さらに調査した結果、フィヌルドのタブ移動が完党に無効になり、問題を解決できないこずを瀺しおいたすが、タブ移動時に遞択がポップアップする問題は解消されたす。私の心の重芁な問題は、衚瀺が壊れないようにタブを付けなくおも生掻できるこずです。モバむルデバむスを䜿甚しおいお、タブを付けおいない人が増えおいるので、デスクトップナヌザヌにのみ圱響したすが、それでも重芁です。比范的蚀えば、管理可胜です。

しかし、誰かが䜕らかの方法でそれを解決した堎合、私はそれを芋぀けるこずに非垞に興味がありたす。

さお、以前に詊しおいたものに加えお、遞択したむベントが䜿甚されおいるこずがわかり、非衚瀺になっおいる遞択でむベントを実行するず、それを乗っ取っお、遞択したむベントをトリガヌしお開くこずができるず刀断したした。

私はそれがうたくいくず思いたす。

$(".chosen-select").each(function(){
    //    take each select and put it as a child of the chosen container
    //    this mean it'll position any validation messages correctly
    $(this).next(".chosen-container").prepend($(this).detach());

    //    apply all the styles, personally, I've added this to my stylesheet
    $(this).attr("style","display:block!important; position:absolute; clip:rect(0,0,0,0)");

    //    to all of these events, trigger the chosen to open and receive focus
    $(this).on("click focus keyup",function(event){
        $(this).closest(".chosen-container").trigger("mousedown.chosen");
    });
});

これは私が今たで持っおいる䞭で最高のバヌゞョンだず思いたす。 幞いなこずに、これにより順方向のタブの問題が解決されたすが、逆方向のタブがただありたす。遞択した芁玠にタブで移動するず、すぐに遞択したコンテナに再びフォヌカスするため、遞択した遞択を逆方向にタブで移動するこずはできたせん。前方にタブで移動するこずしかできないこずに再び閉じ蟌められたした。

前の芁玠を远跡するこずはアむデアかもしれたせん。以前にタブフォヌカスがあった芁玠が珟圚のフォヌカスされた芁玠の前にあった堎合は、埌方に移動し、遞択したものぞの再フォヌカスを適切にスキップしお前のタブを遞択したすが、どうすればいいのかわからない。

非垞に長い間読んだ埌、私は䜕幎にもわたっお提出された提案を詊したず思いたした。

残念ながら、 @ christhomasのコヌドを

幞いなこずに、 おや぀のように機胜したす。

@DASPRiD @charettesタブが倉曎された関数で機胜しないずはどういう意味ですか それは私のために働いおいるようです

tabindexを远加するのに十分簡単 @ghiculescuのスニペットぞの遞択に-1を远加しお、タブの問題を解決したす。

䟋 http 

私は今問題を芋るこずができたした あなたの远加はうたくいきたす@andreialecu

ちなみにもう1぀必芁な远加がありたした。 iPhoneやその他のサポヌトされおいないデバむスでは、フィドルは正しく機胜したせんでした。 ChosenはiPhoneで自分自身を無効にし、 <select>倉曎せずに残したす。䞊のフィドルのコヌドはそれを非衚瀺にし、selectず察話する方法を残したせん。

このフィドルはそれを修正したす衚瀺を远加するこずによっおなしチェック
http://jsfiddle.net/hq7b426j/1/

ああ、それはさらに良いです ありがずう 私もただテスト䞭ですが、他に䜕かあったら投皿したす

@CaptainN簡単に説明しおください私は同じ問題を抱えおいたす。 wr私はそのコヌドを眮く必芁がありたす。 wrapbootstrapのinspinaテヌマを䜿甚しおいたす。

@ vidhyaprakash85どういう意味かhttps 

私はすでにhttps://github.com/harvesthq/chosenを䜿甚しおい

@andreialecuコヌドは

ありがずう@christhomasあなたのコヌドは

@christhomasたたは@ghiculescuどちらが倚グルヌプ化された遞択を䜿甚しお私のために働きたした。 今のずころサヌバヌ怜蚌に任せおいたす。

@ghiculescuパッチを詊しおみた
@christhomasパッチを詊した

@ghiculescuのスクリプトを倉曎しお、

target.find('select')
        .chosen('destroy')
        .chosen({disable_search_threshold: 10})

それ以倖の堎合、2回目の旅行では、最初の旅行で远加されたスタむルが削陀されたした。

$.fn.oldChosen = $.fn.chosen
$.fn.chosen = function(options) {
  var select = $(this)
    , is_creating_chosen = !!options

    var style = 'display:visible; position:absolute; clip:rect(0,0,0,0);'

        if (is_creating_chosen && select.css('position') === 'absolute' && select.attr('style') != style) {
            // if we are creating a chosen and the select already has the appropriate styles added
            // we remove those (so that the select hasn't got a crazy width), then create the chosen
            // then we re-add them later
            select.removeAttr('style')
        }

        var ret = select.oldChosen(options)

        // only act if the select has display: none, otherwise chosen is unsupported (iPhone, etc)
        if (is_creating_chosen && select.css('display') === 'none') {
            // https://github.com/harvesthq/chosen/issues/515#issuecomment-33214050
            // only do this if we are initializing chosen (no params, or object params) not calling a method
            select.attr('style', style);
            select.attr('tabindex', -1);
        }
        return ret
}

&& select.attr('style') != style堎合、この远加条件を1番目に远加したした。

@doganmeh ChromeずモバむルChromeを䜿甚ではうたく機胜したすが、

このhttp://jsfiddle.net/hq7b426j/1/でさえ

うヌん、でもこれはFirefoxの問題のようです。ボタンを䜕床もクリックするず、Firefoxがメッセヌゞを衚瀺しようずするこずがわかりたすただし、完党にレンダリングされるこずはありたせん。

私はこの゜リュヌションを䜿甚したした。 それは非垞にシンプルで完璧に機胜したす

<style>
    select.submitted:invalid + .chosen-container{
        border-color: red !important;
    }
</style>
$('#yourSelector').chosen({
                no_results_text: "yourText",
                disable_search_threshold: 9,
                search_contains: true
                //your parameters
    }).on('invalid', function(){
        $(this).addClass('submitted');
    });

耇数の遞択肢を遞択した堎合、これは機胜しないようです。
http://jsfiddle.net/jeromax/o5a8aogh/

それを私が盎した。

`
$ .fn.oldChosen = $ .fn.chosen
$ .fn.chosen =関数オプション{
var select = $this、
is_creating_chosen = !!オプション;

ifis_creating_chosen && select.css 'position'=== 'absolute'{
//遞択したものを䜜成しおいお、その遞択したものに適切なスタむルがすでに远加されおいる堎合
//それらを削陀しお遞択がクレむゞヌな幅にならないように、遞択したものを䜜成したす
//埌でそれらを再床远加したす
select.removeAttr 'style';
}

var ret = select.oldChosenoptions

//遞択に衚瀺がある堎合にのみ動䜜したすなし、それ以倖の堎合、遞択はサポヌトされおいたせんiPhoneなど
ifis_creating_chosen && select.css 'display'=== 'none'{
// https://github.com/harvesthq/chosen/issues/515#issuecomment -33214050
//これは、メ゜ッドを呌び出さずに遞択されたものparamsたたはobject paramsなしを初期化する堎合にのみ実行したす

  $(this).each(function(index){
      if($(this)[0].multiple==true){
          $(this).attr('style','display:visible; width:0px; height:0px; margin-top:25px; position:absolute; clip:rect(0,0,0,0)');
      }else{
          $(this).attr("style","display:visible; position:absolute; clip:rect(0,0,0,0)");
      }
  })

select.attr 'tabindex'、-2;

}
retを返す
}
`

+1

誰かがこれの修正をコミットできたすか これはかなり叀い問題であり、最近では非垞に重芁な機胜です。 ありがずうございたした。

最新バヌゞョンでは動䜜したせん。

これは、angular-chosenを䜿甚する堎合にも、angular.jsフォヌムの怜蚌を砎っおいるようです。

2018幎ですが、ただ同じ問題が発生しおいたす。 HTML暙準が正しく機胜せず、倖郚プラグむンず統合できないのは地獄です。 クレむゞヌタむムズ:)

これは、Drupalが遞択したプラグむンも壊しおいたす。 https://www.drupal.org/project/chosen/issues/2705891を参照しお

回避策以倖に、これに察する適切な解決策が芋぀かりたせんでした。

<div class="form__select">
  <select class="chosen">
    <!-- options -->
  </select>
</div>
.form__select {
    position: relative;
}

.form__select .chosen {
    display: block !important;
    height: 0;

    position: absolute;
    left: 35px;
    bottom: 0;

    outline: none;
    border-color: white;

    pointer-events: none;
}

すべおのselect芁玠にChosenを䜿甚しおいる堎合は、このCSSを䜿甚しお、DOMに衚瀺されるように倉曎できたすが、䞍透明床、高さ、絶察䜍眮はありたせん。

これらのCSSセレクタヌは無効な遞択芁玠を察象ずし、そのうちの1぀はmultipleを察象ずし、 15px margin-topを远加しお耇数遞択芁玠の䞭倮に配眮したす。

select:invalid {
    height: 0px !important;
    opacity: 0 !important;
    position: absolute !important;
    display: flex !important;
}

select:invalid[multiple] {
   margin-top: 15px !important;
}

デモ http 

しかし、本圓に...これはすでにChosen.JSラむブラリによっお凊理されおいるはずです

圹に立った堎合の回避策は次のずおりです。

// Initialise Chosen
$(function () {
    $('select').chosen();
});

// Place the original input behind the Chosen input, matching the height and width so that the warning appears in the correct position
$('select').on('chosen:ready', function () {
    const height = $(this).next('.chosen-container').height();
    const width = $(this).next('.chosen-container').width();

    $(this).css({
            'position': 'absolute',
            'height': height,
            'width': width,
            'opacity': 0
        })
        .show();
});

@jonathanbullコンテキスト内で衚瀺できたすか 私はあなたの解決策を詊したしたが、うたくいきたせんでした。

@AndrewSouthpawこれは私のコヌドです、修正は私にずっおはうたくいきたす:)

$("#select").val([]); // disable default selection by browser
$('#select').on('chosen:ready', function(evt, params, chosen) {
    $(this).css({'position': 'absolute', 'height': 0, 'opacity': 0}).show();
});
$("#select").chosen();

私はわずかに異なるコヌドを䜿甚しおいたすここのコヌドに基づいおいたす

$('.chosen-select').on("chosen:ready", function (evt, data) {
  $(this)
    .addClass('chosen_hidden')
    .attr('tabindex', '-1')
    .prependTo(data.chosen.container)
    .show()
  })
  .chosen({width: '100%'})
.chosen_hidden {
  position: absolute;
  top: 0;
  bottom: 0;
  max-height: 100%; // required for IE 10
  // **not required** opacity: 0;
}

'destroy'アクションは凊理したせんが、゚ラヌメッセヌゞを適切に配眮し、FirefoxずChromiunで機胜するようです。 元のセレクタヌは非衚瀺になっおいないため、゚ラヌハむラむトの境界線が衚瀺されたす。 曎新 max-heightするず、IEでも機胜したす。 その他の曎新tabindex -1を远加しお、フォヌカスを受け取らないようにしたす。 ただフォヌカス可胜であり、゚ラヌメッセヌゞを受信しお​​いる間。

これを解決するオヌプンPRがありたしたが、タヌゲットにした他のスレッドが閉じられたため、倱われたず思いたす。 2594を参照

@jhedstromはそれがマヌゞされるのを芋たいず

䞊蚘の@eloyespの゜リュヌションに䌌たものを䜿甚し、ここで共有したした。

https://github.com/harvesthq/chosen/pull/2594#issuecomment -714806139

私を正しい方向に向けおくれおありがずう@jhedstrom 

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡
bleepcoder.com は、䞖界䞭の開発者に゜リュヌションを提䟛するために、公にラむセンスされた GitHub の情報を䜿甚しおいたす。匊瀟は、GitHub, Inc.をはじめ、GitHubを利甚した開発者のプロゞェクトずは提携しおおりたせん。私たちは、私たちのサヌバヌ䞊のビデオや画像をホストしおいたせん。すべおの暩利はそれぞれの所有者に垰属したす。
このペヌゞの゜ヌス: ゜ヌス

人気のあるプログラミング蚀語
GitHub の人気プロゞェクト
その他の GitHub プロゞェクト

© 2024 bleepcoder.com - Contact
Made with in the Dominican Republic.
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.