2

このスレッドのような jQuery 関数を使用します: 選択ボックスで optgroup 全体をすばやく選択する簡単な方法

しかし、クリックする<option>と、optgroup がオプション要素を囲んでいるため、optgroup 全体が選択されるようになりました。次のスニペットを使用します。

  $("optgroup").click(function(e) {
    $(this).children().attr('selected','selected');
  });

私のHTMLは次のようになります:

<optgroup label="Abc">
<option value="8" >Ab</option> 
<option value="7" >C</option></optgroup>

したがって、<option>C</option>選択もクリックし<option>Ab</option>ます。おそらく私は明らかな何かを見逃しています...

4

2 に答える 2

3

私は間違っているかもしれませんが<option>、クリック イベントのバブルアップを停止するには、s にハンドラーを追加する必要があるかもしれません。

これと同じくらい簡単なものが役立つかもしれません

$("optgroup option").click(function(e) {
    e.stopPropagation();
});
于 2010-08-10T10:24:03.990 に答える
2

また、optgroupクリックハンドラーでターゲットを確認し、イベントのターゲットが実際にオプションタグであるかどうかを短く循環させることもできます。

$("optgroup").click(function(e) {
   if ($(e.target).is('option')) return;
   $(this).children().attr('selected','selected');
});
于 2011-04-11T03:39:46.863 に答える