2012-09-05 34 views
27

Tôi đang cố gắng để chạy các đoạn mã sau.change() nhận được: chọn giá trị văn bản

$("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(); 
     }); 

Tôi muốn nhận được văn bản từ các giá trị được lựa chọn trên thay đổi. ví dụ UPS Worldwide Express - £ 89.57 sau đó mã chia giá trị để cho tôi số chi phí thực tế.

Nhưng console.log ném lên sau

Error: Syntax error, unrecognized expression: [object HTMLSelectElement]option:selected

trong jquery.min.js (dòng 2)

Vì vậy, im giả sử tôi đã làm điều gì đó sai ở đây và hy vọng ai đó có thể giúp đỡ

+0

Sự khởi đầu của mã trông sai nhưng tôi đoán đó chỉ là một copy/paste cấp phải không? – Niklas

Trả lời

82

dòng nên

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

đã lưu ngày của tôi ... – waza123

+2

find() là chức năng lớn nhất trong các phần tử :) Cảm ơn người đàn ông. – QMaster

2

Thay đổi

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

để

var thisvalue = $("select#shipping_rates_drop option:selected").text(); 
Các vấn đề liên quan