2016-12-19 1 views
2

anzuzeigen Ich habe eine Frage bezüglich der Anzeige von Daten in einer Tabelle. Der hier angegebene Beispielcode ist ein Teil meines Codes innerhalb einer Tabelle. Ich denke, dies ist für die Frage genügt:Wie Javascript-Label innerhalb Tabelle Spalte

Wenn ich die

<label id="HMI_scaled">0</label> 

außerhalb der Tabelle an einem zufälligen Ort in meiner Seite, werden die Daten angezeigt

setzen.

HMI_skaliert ist ein Wert, der automatisch aktualisiert wird, dank des Javascript, das später in diesem Text gezeigt wird. Das Problem ist, dass ich nicht weiß, wie ich die Syntax für die Anzeige in meiner Tabelle eingeben soll. Ich habe es versucht, aber es wird nicht aktualisiert, wie es außerhalb der Tabelle tut.

<table> 
    <tr> 
    <td class="static_field">Level [m]:</td> 
    <td class="output_field"><label id="HMI_scaled">0</label></td> 
    </tr> 
</table> 

Skript für HMI_scaled:

$(document).ready(function(){ 
    $.ajaxSetup({ cache: false }); 
    setInterval(function() { 
     $.get("IOwebserver.htm", function(result){ 
      $('#HMI_scaled').text(result.trim()); 
     }); 
    },1000); 
}); 

CSS:

td.output_field 
{ 
    font-size : 12px; 
    background-color : rgb(221,221,221); 
    text-align : left; 
    width : 150px; 
    height : 21px; 
} 

td.static_field 
{ 
    font-size : 12px; 
    text-align : right; 
    width : 150px; 
    height : 21px; 
} 

HTML:

IOwebserver.htm 
    :="webdata".HMI_scaled: 

Antwort

1

Ich sehe keine Probleme mit Ihrem Code, und es funktioniert für mich. Siehe unten, wo ich deinen Ajax-Anruf mit Code ersetzt habe, um die aktuelle Zeit jede Sekunde anzuzeigen. Es funktioniert, egal wo die <label> ist.

Überprüfen Sie, dass Sie keine HTML-Tippfehler gemacht haben und dass Sie jQuery oben auf der Seite eingefügt haben.

$(document).ready(function(){ 
 
    $.ajaxSetup({ cache: false }); 
 
    setInterval(function() { 
 
     var result = new Date().toLocaleTimeString(); 
 
     $('#HMI_scaled').text(result.trim()); 
 
     $('#HMI_scaled_2').text(result.trim()); 
 
    }, 1000); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table border="1"> 
 
    <tr> 
 
    <td class="static_field">Level [m]:</td> 
 
    <td class="output_field">Inside table -&gt; <label id="HMI_scaled">0</label></td> 
 
    </tr> 
 
</table> 
 
Outside table -&gt; <label id="HMI_scaled_2">0</label>

+0

Aha, erinnere mich gut, gerade dann, dass die Element-IDs * muss in jeder Seite eindeutig * sein. Vermeiden Sie doppelte IDs auf der Seite, es ist kein gültiges HTML und jQuery gibt immer nur das erste Element zurück, wenn Sie mit '$ ('# someId')' suchen. –

+0

Ok, großartig. Ich weiß nicht, ob Sie meinen anderen Beitrag hier gesehen haben, aber haben Sie Erfahrung mit der Verwendung mehrerer Tags mit JSON-Struktur? – user7315551

+0

Das ist eine andere/neue Frage, glaube ich. –