.change()获取:选中的文本值

ngp*_*und 37 jquery selected

我正在尝试运行以下代码

$("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();
        });
Run Code Online (Sandbox Code Playgroud)

我希望在更改时从所选值中获取文本.恩.UPS全球快递 - £89.57然后代码拆分价值以获得实际的费用数.

但是console.log引发了以下情况

错误:语法错误,无法识别的表达式:[object HTMLSelectElement]选项:已选中

在jquery.min.js(第2行)

所以我假设我在这里做错了什么,并希望有人可以提供帮助

Lok*_*ana 107

这条线应该是

var selectedText = $(this).find("option:selected").text();
Run Code Online (Sandbox Code Playgroud)

  • find()是元素中最大的功能:)谢谢你. (2认同)

psy*_*ott 7

改变

var thisvalue = $(this + "option:selected").text();
Run Code Online (Sandbox Code Playgroud)

var thisvalue = $("select#shipping_rates_drop option:selected").text();
Run Code Online (Sandbox Code Playgroud)


Has*_*mal 6

选定的文本值:

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