2016-12-14 15 views
0

Ich versuche, eine verborgene Tabelle auf einer ASP-Webseite zu erstellen, die ich verwenden kann, um Werte aus der Verwendung von Jquery zu suchen. Grundsätzlich habe ich eine ID, die ich mit der versteckten Tabelle abgleichen möchte und dann den Wert 3 Spalten von dieser ID nachschlagen. Wie würde ich das tun?Wie man den Wert der Tabelle mit jquery sucht?

Alles, was ich sehe, sind Ergebnisse, um den Wert einer angeklickten Zelle zu erhalten. Aber der Benutzer interagiert nicht mit meinem Tisch.

Auch verwende ich diese Struktur, um wiederholte Aufrufe an den Server zu vermeiden. Ich sammle die Daten auf einmal in einer Tabelle und möchte dann mit jquery suchen können.

+1

Warum speichern Sie Daten in HTML? Sie können einfach ein JavaScript-Objekt mit Ihren Daten erstellen? Können Sie Ihre Anforderungen etwas genauer erklären? – murtuza

+0

Es wäre viel besser, die Daten in einem JavaScript-Objekt zu speichern, dies würde keinen zusätzlichen Aufruf an den Server erfordern. – MCMXCII

+0

Grundsätzlich habe ich ein 20 x 40 SQL-Dataset, das verwendet wird, um 3 Textfelder in einem Steuerelement auszufüllen. Die Werte dieser Textfelder müssen häufig geändert werden. Anstatt für diese neuen Werte wiederholte Aufrufe an den Server zu senden, versuche ich beim Laden der Seite das gesamte SQL-Dataset zu sammeln und dann nach Werten zu suchen, wenn die 3 Textfelder geändert werden müssen. – anesthetic

Antwort

1

Ihre Frage könnte ein XY-Problem sein - anstatt einen HTML-Code <table> zu verwenden, der nicht sichtbar ist, möchten Sie möglicherweise stattdessen ein Array von JavaScript-Objekten erstellen. (Ich bin mir jedoch nicht sicher, ob dieser Ansatz Ihrem eigenen vorzuziehen ist, und seine Leistung hängt davon ab, ob die Daten, die Sie speichern möchten, relativ klein oder relativ groß sind.)

Aber wenn Sie mit Ihrem fortfahren möchten Ansatz können Sie Ihre <tr> Elemente mit data-whatever Attribut (und <td> mit data-something) wie so dekorieren:

<tr data-number="@put-id-in-here"> 
    <td data-column="firstName">John</td> 
    <td data-column="lastName">Smith</td> 
</tr> 

und wenn Sie den Nachnamen von 42. Reihe bekommen möchten, können Sie jQuery wie folgt verwenden:

$("#idOfYourTable") 
    .find("tr[data-number=42]") 
    .find("td[data-column=lastName]") 
    .text();//or whatever jQuery function you desire 

Alternativ können Sie, wenn Sie keine Attribute hinzufügen möchten, wahrscheinlich mit :nth-child() ausweichen, um Elemente anhand ihrer Position innerhalb ihrer übergeordneten Elemente auszuwählen.

+0

Danke. Ich gebe das eine Chance. Bislang haben mich meine Recherchen zur Verwendung von Javascript-Objekten auf die Verwendung von PHP und MySQL hingewiesen, und ich benutze derzeit keine von beiden, so dass dies im Moment die bessere Methode für mich aussieht. – anesthetic

+0

@anasthetic Ich sehe. PHP + Datenbank und JS lösen verschiedene Probleme - früher sollen HTML-Seiten erzeugt werden, bevor sie über das Internet an den Browser des Benutzers gesendet werden, letzteres ist dafür gedacht, dass der Browser Operationen zur Bequemlichkeit des Benutzers ausführen kann (wie bessere UX). Das Argument für die Verwendung eines JS-Objektarrays anstelle einer versteckten HTML-Tabelle besteht darin, dass, wenn JS ohnehin nur auf die Daten zugreift, diese sowohl schneller (leistungsmäßig, da jQuery DOM nicht verarbeiten muss) als auch einfacher (für den Entwickler), um es in eine JS-Variable zu setzen. – Dragomok

+0

Gibt es eine gute Ressource, zu der Sie mich verlinken können? Ich bin auf der 4. Seite von Google für ein paar Suchen jetzt und ich habe Probleme, ein Beispiel für die Erstellung eines JS-Array aus einer MSSQL-Tabelle – anesthetic

Verwandte Themen