select
の値を変更すると、hasClass()
は選択内で.select_timedb
が見つからないため、条件は常にfalse
です。どうしてこれなの?私はinput
のために同じコードを使用し、それは正常に動作します。選択にHasClassを使用するには?
私はこれ以上の選択をしています。私がこれらのいずれかを変更するとき、私は何かをしなければならないかどうかを知るために選択が.select_timedb
クラスを持っているかどうかを知る必要があります。
<select class="form-control select_time select_timedb valid" id="time1" name="time1" aria-required="true" aria-invalid="false">
<option value="1">1 h</option>
<option value="2">1 day</option>
</select>
$('body').on('change', 'select_timedb', function() {
if ($(this).hasClass("select_timedb")) {
// do something
}
});
削除 '.'のようなselect_timedb''からこの 'IF($(この).hasClass( "select_timedb")){' –
Typo: 'hasClass()'でチェックしているクラスに '.'接頭辞を付けるべきではありません。セレクタがそれらの要素だけが選択されることを保証するので、 'hasClass()'を使用するとかなり冗長です。唯一の方法は、そのクラスを動的に追加/削除する場合ですが、その場合委譲されたイベントハンドラはもっと良いアイデアとなるでしょう –
あなたはすでに '.select_timedb'をフィルタリングしていますので、このイベントのすべてのインスタンスにそのクラスがありますか? – Curt