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

时间:2012-09-05 10:56:28

标签: jquery selected

我正在尝试运行以下代码

$("select#shipping_rates_drop").change(function(){
            var thisvalue = $(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全球快递 - 89.57英镑 然后代码拆分该值以获得实际的成本数。

但是console.log引发了以下内容

  

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

在jquery.min.js(第2行)

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

4 个答案:

答案 0 :(得分:100)

该行应

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

答案 1 :(得分:4)

更改

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

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

答案 2 :(得分:2)

所选文本值:

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

答案 3 :(得分: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);
}