1

私が達成しようとしているのは、最初のドロップダウン リストの選択に基づいて値が入力される 2 番目のドロップダウン リストです。

以下を使用して動作するようにしました。

http://jsfiddle.net/ydPfH/6/

問題は、ドロップダウン リストに画像を表示するために使用している外部プラグインが、何らかの形でこのコードの正常な動作を妨げていることです。

このプラグインを初期化するコードは、$("body select").msDropDown();このプラグインを使用する単純な検索フォームの下にあるもので、jquery 展開可能な div であるため、クリックAdvanced Searchして動的ドロップダウンでフォームを展開します。

<a href="#" rel="toggle[advancedsearch]" data-openimage="images/collapse.png" data-
closedimage="images/expand.png">Advanced Search<img id="expand" 
src="images/collapse.png"/>   </a> 
<div id="advancedsearch">
<p>Document Properties:</p>
<form>
<select id="tags" name="tags" class="tags">
etc....

私が望んでいるのは、何らかのonclick方法で別のJSメソッドを呼び出して、初期化を何らかの方法で削除したり、$("body select").msDropDown();ばかげたものを初期化して削除したりするのが簡単なことです。

役立つ場合は、ページの完全なソースをここで見ることができます: http://jsfiddle.net/pQ9LT/

ありがとう、

マーティン

4

2 に答える 2

2

私がこれを正しく理解している場合、ここに答えがあります:

msDropDown プラグインを使用する要素にclass属性を追加する必要があります。<select>次に、プラグインを次のように初期化します。$('select.yourClass').msDropDown(); ここで、これらの要素yourClassに割り当てたクラス名は次のとおりです。セレクター<select>の部分は不要です。body

このように、jQuery はプラグインをクラス名で「マーク」された要素にのみ適用し、すべての要素ではなく、他の「通常の」要素を干渉なく<select>使用できるようにします。<select>

私があなたを助けたことを願っています。

于 2011-03-24T12:18:07.047 に答える
1

あなたの全体的な要件が何であるか、および何が受け入れられるか、または受け入れられないかについて、私は完全に明確ではありません。

  1. 画像コンボ ボックスとしてスタイル設定したくない選択要素に、classまたは を指定しidます。次に、初期化と組み合わせて:not() セレクターを使用しますmsDropdown

    $("body select:not('.nostyle')").msDropDown(); //using the class 'nostyle' to filter out the elements that should get the image combobox 
    
  2. 初期化呼び出しでより具体的なセレクターを使用します。これは上記の逆です

    $("body select.classOfSelectsTobeStyled").msDropDown(); //using the class 'classOfSelectsTobeStyled' on elements that should get the image combobox   
    
于 2011-03-24T12:31:48.543 に答える