2016-04-13 30 views
2

için alt menüye eklemek için böyle nasıl açılır liste. Bu işaretlenmiş düğmelerden herhangi birinin üzerine tıkladığınızda, AJAX aracılığıyla aldığım bazı veriler alt menüde görünmelidir. Yani, sonuçta bu gibi görünmelidir:tıklandığında düğmenin

<ul class="dropdown-menu"> 
       <?php 
       foreach($applications as $application){ 

       echo "<li><button type='button' style='width:100%;' value='".$application['facebook_id']."' onclick='setSession(this.value);'>".$application['app_name']."</button></li>"; 

       } ?> 
       <?php if($resultForUpperQuery){ 
       echo '<hr>'; 
       while($names=$resultForUpperQuery->fetch_assoc()){ 
       $groupname=$names['ime_grupe']; 
       echo "<li><button type='button' style='width:100%;' value='".$groupname."' onclick='showDetails(this.value);'>".$groupname."</button></li>"; 
       } 
       echo '<hr>'; 
       } 
       ?> 
       <?php if(isset($_SESSION['ap_id'])){ 
       echo ' 
       <li><a href="" data-target="#createAppGroup" data-toggle="modal">Create App Group</a></li>';}?> 
       <li><a href="app_setup.php">Add new app</a></li> 
    </ul> 

Yani her düğme şuna benzer onclick="showDetails(this.value)" işlevi vardır::

function showDetails(o){ 

      var data = {}; 
      var groupName = o; 

      data.action2='showConsistsOf'; 
      data.groupName=groupName; 
      $.ajax({ 
       url: "../includes/adapter.php", 
       type: "POST", 
       dataType: "JSON", 
       data: data, 
       async: true, 
       success: function (data) { 
        if(data){ 
         //console.log(data); 
         for(var i=0;i<data.length;i++){ 
         $('button[value=groupName]').append('<li>+data[i]+</li>'); 
         } 
        } 
        else { 

        } 
       } 
      }); 
     } 

Ve veri enter image description here

Bu benim açılır listesinin kodudur böyle alınan görünüyor:

["Notiflow", "Konfidence Hrvatska"] 

Yani, temel olarak değerleri alt menü açılır bir parçası olması gereken dizi olarak. verilerdeki

success: function (data) { 
    if(data){ 
     console.log(data); 
     for(var i=0;i<data.length;i++){ 
      $('button[value=groupName]').append('<li>+data[i]+</li>'); 
     } 
    } 
} 

Yani foreach değer ben işlevini ateş tıklama düğmesi <li> eklemek çalıştı: siz de kodunun üzerinde gördüğünüz gibi Ve ben, böyle bu alt menüye yapmaya çalıştı. Ancak butona tıklamak sadece açılır kapanır. Gerçekten bunu nasıl çözeceğimi bilmiyorum.

+0

[i] İlk ül menüsü için olduğunu ve ihtiyaç nedeniyle de ul eklemek gereken bir alt menü olarak İçinde ikinci bir tane. –

+0

Yaptı mı, hala düğmesine tıklayarak tüm açılır kapanır. – Ognj3n

+0

Tıklattıktan sonra konsol günlüğünüzde denetçiniz ne diyor? –

cevap

0

bu gibi işlev aramak Dene: verileri eklemek çalışıyorsanız

$(".dropdown-menu").on("click", ".button", function() {.......}); 
+0

Hiçbir şey olmuyor. Ayrıca ben bu 'onclick = fonksiyonundan (value) başka bir yol kullanmayı düşünüyorum, çünkü benim için işe yaramaz çünkü tıklanan düğmeye değer lazım. – Ognj3n

+0

Bunun gibi ul ve li eklerini bölmeyi denemeyin: var li = $ ('

  • '); $ (ul) .append (li); –

  • +0

    Hayır, her bir tıklama düğmesi menüyü kapatır. – Ognj3n