2016-04-14 45 views
0

Kaç sonuç döndüğüne bağlı olarak sekmeler oluşturan dinamik kodum var. Sorunum şu an, sekme başlığına bir onay eklemek istiyorum ancak <li> ve <a href numaralarına geçemiyorum.> (<a href>'a ekle) seçeneğini eklemem gerekiyor. Ben çok sayıda .parent() ve .find() denedim ama bunu doğru olarak göremiyorum. Ne ben eksik (ve hiç şüphesiz çok basit!) Bunun için iyice aramışJQuery geçerli sekmeye metin ekle

function getData() { 
$.getJSON("getQuestions.asp?sup="+dataVal1+"&prod="+dataVal2, function(data){}) 
    .done(function(data){    
     html = '<div class="center">Supplier: '+suppName+'</div><div class="center">' 
     html += 'Part No &amp; Description: '+partCode+' - '+partName+'</div><ul>' 
     var len = data.length; 
     for (var i = 0; i< len; i++) { 
      html += '<li><a href="#q'+data[i].id+'">'+data[i].shortdesc+'</a></li>' 
     } 
     html += '</ul>' 
     for (var i = 0; i< len; i++) { 
      html += '<div id="q'+data[i].id+'">'+data[i].question 
      html += '<fieldset><legend>Question '+parseInt(i+1)+'</legend>' 
      if (data[i].evidence == '1') { 
       html += '<iframe id="upload" frameborder="0" width="500" scrolling="no" src="upload.asp?supp='+suppCode+'&part='+partCode+'&q='+data[i].shortdesc+'"></iframe>' 
       console.log(data[i].shortdesc) 
      } else { 
       html += '<div class="yesno" data-desc="'+data[i].shortdesc+'"><span class="btn small" id="yes" >YES</span>&nbsp;<span class="btn small" id="no">NO</span></div>' 
      } 
      html +='</fieldset></div>' 
     } 

     $('#output').html(html); 
     $("#output").tabs(); 
    }); 
}; 

ve ben başka bir yerde olabilir kesin çözüm isabet ettik mümkün olabilir.

cevap

0

Bunu yapmak için sekmeler etkinliklerini kullanabilirsiniz. Orada çapa etiketini bulmak için erişim var.

function getData() { 
$.getJSON("getQuestions.asp?sup="+dataVal1+"&prod="+dataVal2, function(data){}) 
    .done(function(data){    
     html = '<div class="center">Supplier: '+suppName+'</div><div class="center">' 
     html += 'Part No &amp; Description: '+partCode+' - '+partName+'</div><ul>' 
     var len = data.length; 
     for (var i = 0; i< len; i++) { 
      html += '<li><a id="tab_"'+ i +' href="#q'+data[i].id+'">'+data[i].shortdesc+'</a></li>' 
     } 
     html += '</ul>' 
     for (var i = 0; i< len; i++) { 
      html += '<div id="q'+data[i].id+'">'+data[i].question 
      html += '<fieldset><legend>Question '+parseInt(i+1)+'</legend>' 
      if (data[i].evidence == '1') { 
       html += '<iframe id="upload" frameborder="0" width="500" scrolling="no" src="upload.asp?supp='+suppCode+'&part='+partCode+'&q='+data[i].shortdesc+'"></iframe>' 
       console.log(data[i].shortdesc) 
      } else { 
       html += '<div class="yesno" data-desc="'+data[i].shortdesc+'"><span class="btn small" id="yes" >YES</span>&nbsp;<span class="btn small" id="no">NO</span></div>' 
      } 
      html +='</fieldset></div>' 
     } 

     $('#output').html(html); 
     $("#output").tabs(); 
    }); 
}; 

    $("#output").tabs({ 
       activate : function(event, ui){ 

        var tab_index = ui.newTab.index(); 
        var anchor_tag = ui.newTab.children("a"); 
        var anchor_tag_id = anchor_tag.attr("id"); 

        localStorage.setItem("active_tab_anchor", anchor_tag_id); 
       } 
    }); 

    $('#answer_event').on('click', function(){ 
      var anchor_tag_id = localStorage.getItem("active_tab_anchor"); 
     var anchor_tag = $('#'+anchor_tag_id); 
     var href = anchor_tag.attr("href"); 
     href += href + 'tick'; 
     anchor_tag.attr('href', href); 
    }); 

Kene sonuna eklemek istediğinizde tam olarak değişir.

Kontrol burada olaylar: http://api.jqueryui.com/tabs/

+0

Bu benim orijinal soruyu genişletmek gereken yerde olduğunu. Her sekmede, cevaplandığında, o sekmeyi – Hyperjase

+0

işaretiyle işaretlemeniz gereken bir "soru" dır. Bu sekmeyi tıkladığınızda, etkin sekme kimliğine sahip bir yerel depolama değişkeni ayarlayabileceğiniz anlamına gelir. Eğer kullanıcı soruyu cevaplarsa, o sekmeyle ilgili belirli bir sekmeyi arar ve ilgili bağlantı etiketini bulmaya çalışırsınız. . – dquinonez

+0

Sekme başına bağlantı etiketini oluşturduğunuzda, ona bir kimlik eklemeye çalışın, ardından etkinleştirme etkinliğinde, bu anchor etiketi kimliğini yerel depoya kaydetmeyi deneyin. Kullanıcı soruyu cevaplarsa, yerel depolama alanına kaydettiğiniz ve href dosyasını değiştirdiğiniz anchor etiketini gerçekten kolay bulabilirsiniz. – dquinonez