2012-09-05 10 views
27

Estoy tratando de ejecutar el siguiente código.Cambiar get(): valor de texto seleccionado

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

Quiero conseguir el texto del valor seleccionado en el cambio. ex. UPS Worldwide Express - £ 89.57 luego el código divide el valor para obtener el número real de costo.

Pero console.log arroja el siguiente

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

en jquery.min.js (línea 2)

así que estoy asumiendo que he hecho algo mal aquí y esperando que alguien podría ayudar a cabo

+0

El principio del código se ve mal, pero supongo que es emitir sólo un copiar/pegar la derecha? – Niklas

Respuesta

82

la línea debe ser

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

salvó mi día ... – waza123

+2

find() es la mejor función en elementos :) Gracias hombre. – QMaster

2

Cambio

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

a

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