2016-06-14 18 views
0

Ich muss die Spaltenbreite meiner Tabelle ändern, die sich in meiner Direktive befindet. Ich habe einen gültigen Rahmen dafür gefunden: Resizable table columns with jQuery. Ich habe jedoch folgendes Problem. Machen Sie die Resize-Säule funktioniert ganz einfach ist, fügen Sie einfach diesen jQuery-Code in meinem Angular-Controller:jQuery funktioniert nicht für die AngularJS-Direktive

$("#normal").colResizable({ 
       liveDrag:true, 
       gripInnerHtml:"<div class='grip'></div>", 
       draggingClass:"dragging", 
       resizeMode:'fit' 
      }); 

Wo normal ist die ID meiner Tabelle, die ist die folgende:

<table id="normal" width="100%" border="0" cellpadding="0" cellspacing="0"> 
      <tr> 
       <th>header</th><th>header</th><th>header</th> 
      </tr> 
      <tr> 
       <td class="left">cell</td><td>cell</td><td class="right">cell</td> 
      </tr> 
      <tr> 
       <td class="left">cell</td><td>cell</td><td class="right">cell</td> 
      </tr> 
      <tr> 
       <td class="left bottom">cell</td><td class="bottom">cell</td><td class="bottom right">cell</td> 
      </tr>                 
     </table> 

Jetzt ist das Problem ist, dass jQuery nicht für die Tabelle innerhalb einer Direktive arbeitet, ich bedeute, wenn ich die Tabelle in eine normale HTML-Seite die Größenänderung der Spaltenbreite einlege, aber wenn ich den Tabellencode innerhalb einer AngularJs-Direktive einsetze, funktioniert es nicht .

Ich habe nur die Tabelle in meiner Seite, es gibt keinen anderen Code, der die Funktion davon beeinflussen könnte.

Ich vermute, dass das Problem ist die jQuery, aber ich bin mir nicht ganz sicher darüber. Ich bin neu bei Angular und vielleicht sollte ich etwas in meiner Direktive konfigurieren?

+0

Sie bedeuten, dass es nicht mit einigen benutzerdefinierten Richtlinie zu arbeiten? – NightsWatch

+0

@ NightsWatch Ja, genau, ich habe nur die Lösung gefunden, ich muss den jquery Code innerhalb der Direktive anstelle des Controllers hinzufügen. – putz

+0

Cool! Ich habe gedacht, indem ich ersetze: wahre Eigenschaft innerhalb deiner kundenspezifischen Richtlinie mag die Magie tun. Wenn möglich, können Sie dies bitte versuchen und Ihr Feedback teilen. Es könnte für jemand anderen helfen. – NightsWatch

Antwort

0

Ich würde vorschlagen, Sie versuchen, Angular nur zu verwenden, wenn Sie nicht sicher sind, wie DOM funktioniert und wie man einen sauberen Code von jquery innerhalb des eckigen hat.

Versuchen Bezug Resizable columns with Angularjs