В вашем коде есть пара проблем. Сначала =
используется для установки значения. Чтобы сравнить значения, которые вам нужно использовать ==
или ===
, в зависимости от того, как вы хотите / должны принудить типы данных.
Во-вторых, вы смотрите на индекс select
элемент в DOM, а не индекс option
, который был выбран. Таким образом, вам нужно использовать find()
в обработчике событий, чтобы получить выбранный option
и получить его index()
. Попробуйте это:
$('select[name="sorting"]').change(function() {
var idx = $(this).find('option:selected').index();
if (idx === 0) {
console.log("sort country");
} else if (idx === 1) {
console.log("sort area");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="sorting">
<option value="" class="country" selected>Country</option>
<option value="" class="area">Area</option>
</select>