Подтвердить что ты не робот

.change() get: выбранное текстовое значение

Я пытаюсь запустить следующий код

$("select#shipping_rates_drop").change(function(){
            var selectedText = $(this + "option:selected").text();
            var ship = thisvalue.split("£");
            var subtotal = $("ul#deliveryList").attr("class");
            var ship = ship[1];
            var totalcost = parseFloat(subtotal)+parseFloat(ship);
            $(".wrap.form-section h1 span").html("&nbsp;&nbsp;&nbsp;&nbsp;<small>Total </small> £"+totalcost);
            $("input[name=itemamt]").val(subtotal);
            $("input[name=shippingamt]").val(ship);
            checklistCheck1();
        });

Я хочу получить текст из выбранного значения при изменении. ех. UPS Worldwide Express - 89,57 фунтов стерлингов, после чего код делит значение, чтобы получить фактическое количество затрат.

Но console.log выдает следующее

Ошибка: синтаксическая ошибка, нераспознанное выражение: опция [object HTMLSelectElement]: выбрано

в jquery.min.js (строка 2)

Так что я предполагаю, что я сделал что-то не так, и надеюсь, что кто-то может помочь

4b9b3361

Ответ 1

линия должна быть

var selectedText = $(this).find("option:selected").text();

Ответ 2

Изменить

var thisvalue = $(this + "option:selected").text();

к

var thisvalue = $("select#shipping_rates_drop option:selected").text();

Ответ 3

Выбранное текстовое значение:

$('#selectBoxId').on('change',function(){
   var optionsText = this.options[this.selectedIndex].text;
   alert(optionsText);
});