43

我正在尝试运行以下代码

$("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]option:selected

在 jquery.min.js 中(第 2 行)

所以我假设我在这里做错了什么,希望有人能帮忙

4

4 回答 4

119

该行应该是

var selectedText = $(this).find("option:selected").text();
于 2012-09-05T10:59:13.473 回答
7

改变

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

var thisvalue = $("select#shipping_rates_drop option:selected").text();
于 2012-09-05T10:58:52.883 回答
5

选定的文本值:

$('#selectBoxId').on('change',function(){
   var optionsText = this.options[this.selectedIndex].text;
   alert(optionsText);
});
于 2018-06-27T12:20:57.263 回答
0
<select onchange="changeSelect($event)">
    <option [value]="valor">Texto</option>
</select>
changeSelect(e: any) {
    var indexSel = e.target.selectedIndex;
    var label = e.srcElement[indexSel].label;console.log(label);
}
于 2019-11-08T14:01:50.060 回答