0

クラスを選択して選択オプションをクリックすると、関数を呼び出す必要があります。Firefox、Internet Explorer、Opera ではすべて正常に動作しますが、Google Chrome では動作しません。

コードは次のとおりです。

<fieldset class="suburbSelect">
    <label for="suburbSelect">Provincia</label>
    <select class="suburbSelect">
        <option class="alessandria" value="Piemonte, Alessandria">Alessandria</option>
        <option class="asti" value="Piemonte, Asti">Asti</option>
        <option class="biella" value="Piemonte, Biella">Biella</option>
        <option class="cuneo" value="Piemonte, Cuneo">Cuneo</option>
        <option class="novara" value="Piemonte, Novara">Novara</option>
        <option class="torino" value="Piemonte, Torino">Torino</option>
        <option class="verbania" value="Piemonte, Verbano Cusio Ossola ">Verbano Cusio Ossola</option>
        <option class="vercelli" value="Piemonte, Vercelli">Vercelli</option>
    </select>
</fieldset>
jQuery(".alessandria").click(function(){  
    alert(hello!);
});
jQuery(".asti").click(function(){  
    alert($(".asti").attr("class"));
});

http://jsfiddle.net/all2aller/KqPCs/2/

Jquery 1.9.1 を使用しています。

4

3 に答える 3

0

まず、ここにタイプミスがあります:

    alert(hello!);

そのはず:

    alert("hello!");

第二に、この場合のクラスの使用法は非常に奇妙です....選択したオプションごとにクラスを取得しました。これは、選択ボックスの値をチェックする少し非標準的な方法です。

代わりに、次のように jQuery の change() および val() 関数を使用できます。

$(".suburbSelect").change(function() {
    var val = $(this).val();

    if (val == "Piemonte, Alessandria") {
        alert("hello!");
    } else if (val == "Piemonte, Asti") {
        alert($(".asti").attr("class"));
    }
});

ここでそれに応じてjsFiddleを更新しました:

http://jsfiddle.net/KqPCs/5/

于 2013-06-05T09:10:36.450 に答える
0

電源を入れ直してみましたか?:)

まったく同じ問題があり、クロムを再起動すると修正されました。

于 2014-02-05T10:37:49.683 に答える