2

選択フィールドのオプションをクリックしたときに行を表示する非常に簡単なテストを試みました。Chromeを除く、私が信じているすべてのブラウザで動作します。それはまったく何もせず、javascriptデバッグコンソールをチェックしてもエラーは出ません。

<select name="test">
    <option value="1">one</option>
    <option value="2" id="show_div">two</option>
</select>

<div id="show_block" style="display:none;">it works!</div>

とてもシンプルなjquery

$('#show_div').click(function(){
    $('#show_block').show();
});

クリックして変更する代わりに試しましたが、Chromeでは結果が得られませんでした。アイデア?

4

3 に答える 3

4
$('select[name="test"]').change(function() {
    if ($(this).find('#show_div').is(':selected'))
        $('#show_block').show();
});​

ライブデモ

于 2012-05-10T07:54:59.577 に答える
1

選択リスト内のアイテムにクリック イベントをバインドするべきではありません。選択リスト全体のクリックにバインドしてから、次のようにどのアイテムが選択されているかを確認する必要があります。

$('select').change(function(){
    if ($(this).val() == 2)
    {
          $('.show_block').show();
     }
  });

この質問は似ています:クロムの選択オプション要素のクリックイベント

于 2012-05-10T07:58:09.517 に答える
0

select 要素に id 属性はありませんが、Jquery コードで id で参照しています。これはクロムで機能し、ここではJsFiddleにあります。

HTML

<select id="show_div" name="test">
  <option value="1">one</option>
  <option value="2" id="show_div">two</option>
</select>
<div id="show_block" style="display:none;">it works!</div>

Jクエリ

$('#show_div').change(function(){
  $('#show_block').show();
});​
于 2012-05-10T07:58:17.067 に答える