2011-11-04 3 views
0

Voici mon code:Simple JavaScript check string vide, que signifie (une chaîne vide) et pourquoi est-il défaillant?

$("#ddlCiudad").change(function() { 
    var idCity = $("#ddlCiudad").val(); 
    $.getJSON("/ProductCheckout/GetPriceForLocation", { cityId: idCity, productId: idProduct, type: "land" }, 
     function (cityData) { 

      console.log("Recieved json data.");      

      landCost = cityData.LandCost; 
      $("#billingshippingcost").text(landCost); 
      console.log("Assigned value of LandCost"); 

      airCost = cityData.AirCost; 
      console.log("Assigned value of AirCost"); 

      console.log(landCost); //Logs: 25,00 
      console.log(airCost); //Logs: "(an empty string)" 

      if (landCost == "") { 
       $(".land").removeClass("land").addClass("land-disabled"); 
      } 
      else { 
       $(".land-disabled").removeClass("land-disabled").addClass("land"); 
      } 

      if (airCost = "") { 
       $(".air").removeClass("air").addClass("air-disabled"); 
      } 
      else { 
       $(".air-disabled").removeClass("air-disabled").addClass("air"); 
      } 

     } 
    ); 
}); 

Cette déclaration est ifpas Licenciement, des suggestions sur pourquoi il ne se déclenche?

Peut-être que an empty string n'est pas la même chose que "" dans Javascript.

+7

est-il pas censé être 'si (airCost == "")'? – NullUserException

+0

@NullUserException ఠ_ఠ Ouais j'ai déjà résolu ça. :) L'erreur est toujours cependant. Cette condition ne passe pas. –

+1

Etes-vous sûr? Ajoutez quelque chose comme 'console.log ('airCost is empty')' dans le bloc 'if' juste pour vérifier s'il y arrive (et ce ne sont que les classes qui ne sont pas ajoutées et supprimées correctement) – NullUserException

Répondre

1

Essayez:

if (!airCost) { 
    $(".air").removeClass("air").addClass("air-disabled"); 
} 
else { 
    $(".air-disabled").removeClass("air-disabled").addClass("air"); 
}