2016-04-21 9 views
1

ich diese HTML-Struktur haben:jQuery removeClass gescheitert zu entfernen, wenn JSON leer

<div class="row"> 
    <div class="col-sm-6 p-l-0"> 
     <div class="form-group form-group-default form-group-default-select2 required"> 
     <select class="kurir"> 
     <option select="selected"></option> 
     ... 
     </select> 
     </div> 
    </div> 
    <div class="col-sm-6"> 
     <div class="form-group form-group-default form-group-default-select2 required"> 
     <select id="tarif" class="tarif full-width"> 
     ... 
     </select> 
     </div> 
    </div> 
    <div class="col-sm-12 notarif"> 
     <p class="small hint-text no-margin text-danger hidden"> 
      some text here. 
     </p> 
    </div> 
</div> 

und ich habe diesen javascript:

$(".kurir").change(function() { 
    var _thiscache = $(this); 
    $.ajax({ 
     url: json_url, 
     dataType: "JSON", 
     success: function(json){ 

      if (json.length == 0) { 
       $(".tarif").prop("disabled", true); 
       $(".tarif").select2("val", ""); 
       _thiscache.closest(".row").find(".notarif").$("p").removeClass("hidden"); 
      } 

     } 
    ... 

warum kann ich nicht hidden Klasse entfernen auf p wenn JSON gibt mir ein leeres Ergebnis? Was habe ich hier verpasst? Danke für Ihre Aufmerksamkeit.

+0

dann tun 'else {_thiscache.closest (" Zeile "). Finden (". Notarif "). $ (" P"). removeClass ("versteckt");} ' – guradio

+1

' _thiscache.closes (". row"). find (". notarif p.hidden"). removeClass ("versteckt"); ' –

+2

meinst du die Syntax' find (" .notarif "). $ (" p ")" ist gültig? Ich nicht –

Antwort

3

Statt

_thiscache.closest(".row").find(".notarif").$("p").removeClass("hidden"); //wrong selector and syntax 

Verwenden

_thiscache.closest(".row").find(".notarif p.hidden").removeClass("hidden"); 
+1

es funktioniert bro! Danke vielmals. –

+0

@ RobertHanson..sind willkommen. –