kostenloser Webspace werbefrei: lima-city


Mit jQuery Tabellenzeile ausblenden

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    web-dienstleistungen

    web-dienstleistungen hat kostenlosen Webspace.

    Hey community,

    ich habe ne Tabelle die ich mit Werten einer MySQL-Datenbank fülle .. In dieser möchte ich nun bei Formulareingabe die Zeilen ausblenden, die nicht übereinstimmen .. Hierfür benutze ich folgende Vorlage:

    http://drasticcode.com/2009/6/17/instant-search-in-pure-javascript-almost-instantly

    Das funktioniert insofern, dass es bei fehlender Übereinstimmung die Spalte des falschen Wertes in der jeweiligen Zeile ausblendet, jedoch nicht die gesamte Zeile. Halt lediglich diesen einen Wert.

    Jetzt habe ich folgende Fragen:
    - Wie weite ich das auf die gesamte Zeile aus?
    - Wie überprüfe ich mehrere Werte gleichzeitig?
    - Wie mache ich sowas wie größer und kleiner gleich? Also z.B. beim Preis? Ausgabe Kleiner gleich (<=) Eingabe

    Danke im Voraus, Greetz!
    Lars
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das kannst du in dem du dir die jQuery API anschaust selber herausfinden...

    Dein nick und die Frage passen nicht zusammen....

    Aber gut mit dem "parrent" findest du den "Eltern-Tag" und den könntest du dann mit hide ausblenden....

    Try and Error hilft ;)
  4. dexus85 schrieb:
    Dein nick und die Frage passen nicht zusammen....

    Schön gesagt :wink:

    zum Thema: Wer soll dir jetzt helfen? Dein Beispiel funktioniert wie gewünscht. Ergo scheinst Du es nicht in 100%ig gleicher Art zu nutzen. Ohne deinen Code zu kennen, wird eine sinnvolle Hilfe reines Glücksspiel sein.
  5. Autor dieses Themas

    web-dienstleistungen

    web-dienstleistungen hat kostenlosen Webspace.

    @dexus85: Das mein Name nicht mit meinen Fragen zusammenpasst war mir schon vor Jahren klar .. Aber ich kann ihn halt nimmer ändern :P

    Zu dem Parent .. Ich verwende die Funktion .closest('tr') und wende .hide() darauf an, das funktioniert allerdings nicht so ganz, da ich leider eine Zeile aus 3 <tr>s zusammensetze, was ich vergessen hatte zu erwähnen. Sorry hierfür!

    @fatfreddy: Bis auf diese eine Information mit den 3 <tr>s würde mein Sourcecode nicht helfen, da es allgemeine Fragen sind wie: Wie überprüfe ich, mit diesem Codebeispiel als Vorlage, mehrere Werte und diese z.B. auch auf andere Art und Weise. Wie z.B. dem größer gleich ..

    // Instant Search
    $().ready(function(){
    	$('#search_offer').keyup(function(){
    		$('.offer_item').each(function(){
    		var re = new RegExp($('#search_offer').val(), 'i')
    			if($(this).children('.offer_name')[0].innerHTML.match(re)
    
    // Hier sollen mehrere Werte geprüft werden
    // wie z.B. der Preis-Wert .. Wenn Eingabe
    // kleiner gleich Datenbank-Wert .show(), else .hide()
    
    ){
    				$(this).closest('tr').show();
    			}else{
    				$(this).closest('tr').hide();
    			};
    		});
    	});
    });

    Hierbei sollen halt alle Werte geprüft werden die übergeben wurden .. Also mit AND ;)

    Meine Tabelle ist folgendermaßen aufgebaut:
    <table>
    [php] while mysql_fetch_assoc [/php]
    	<tr class="offer_item">
    		<td class="offer_name"> <?php echo Datenbankwert; ?>
    		<td>
    		<td>
    	</tr>
    	<tr>
    		<td>
    		<td>
    		<td>
    	</tr>
    	<tr>
    		<td>
    		<td>
    		<td>
    	</tr>
    [php] end while [/php]
    </table>


    Zur Übersichtlichkeit habe ich nur die Struktur übernommen und nicht alles ausgefüllt ..

    Erstellt pro Angebot 3 Zeilen .. Eine davon wird ausgeblendet .. Ich muss also alle 3 <tr>s auswählen, aber wenn ich via .closest('table') bis zum obersten Beginn gehe - sodass halt die 3 Zeilen inbegriffen wären - verschwindet die gesamte Tabelle

    Und meine Suchmaske:
    <form action="javascript:void(0);" name="customer_data">
    <input type="text" id="search_offer" name="search_offer"/>
    </form>


    MfG :)
    Lars
  6. Hallo,

    eigentlich muss ich dex und fat recht geben, es steht alles in der jquery API und deine Angaben sind / waren vage. Damit du aber siehst, dass bei genaueren Fragen die Chance auf Antwort größer ist und obwohl dex es eigentlich schon angedeutet hat:
    - Wie weite ich das auf die gesamte Zeile aus?
    - Wie überprüfe ich mehrere Werte gleichzeitig?
    - Wie mache ich sowas wie größer und kleiner gleich? Also z.B. beim Preis? Ausgabe Kleiner gleich (<=) Eingabe

    - versuche doch mal
    $('tr',$(this).parent()).show();
    }else{
    $('tr',$(this).parent()).hide();
    dann sollten alle drei tr ausgeblendet werden.
    - hast du dir selbst beantwortet, mit "and" bzw. & oder &&
    - hast du dir selbst beantwortet mit < und == und >= usw.

    Gruß
  7. marmot schrieb:
    Hallo,

    eigentlich muss ich dex und fat recht geben, es steht alles in der jquery API und deine Angaben sind / waren vage. Damit du aber siehst, dass bei genaueren Fragen die Chance auf Antwort größer ist und obwohl dex es eigentlich schon angedeutet hat:
    - Wie weite ich das auf die gesamte Zeile aus?
    - Wie überprüfe ich mehrere Werte gleichzeitig?
    - Wie mache ich sowas wie größer und kleiner gleich? Also z.B. beim Preis? Ausgabe Kleiner gleich (<=) Eingabe

    - versuche doch mal
    $('tr',$(this).parent()).show();
    }else{
    $('tr',$(this).parent()).hide();
    dann sollten alle drei tr ausgeblendet werden.
    - hast du dir selbst beantwortet, mit "and" bzw. & oder &&
    - hast du dir selbst beantwortet mit < und == und >= usw.

    Gruß


    Besser hätte ich nun auch nicht antworten können. Btw. damit unser TS auch versteht was gemeint ist: http://api.jquery.com/jQuery/ dort gibts paar Infos wegen dem context ;)

    Edit: alternative wäre noch die Möglichkeit "next" vom parent Node bzw. next next... usw.

    vielleicht wäre eine ID für den TR nicht verkehrt ;) und dann eine eindeutige classe ohne css für die 3 TR so kannst du die dann auch finden...und anzeigen oder ausblenden.

    Beitrag zuletzt geändert: 22.3.2012 22:29:20 von dexus85
  8. Autor dieses Themas

    web-dienstleistungen

    web-dienstleistungen hat kostenlosen Webspace.

    marmot schrieb:
    - versuche doch mal
    $('tr',$(this).parent()).show();
    }else{
    $('tr',$(this).parent()).hide();
    dann sollten alle drei tr ausgeblendet werden.

    Jo, musste zwar die while-schleife vor das <tr> setzen, sodass jetzt jedes Angebot ne eigne Tabelle bekommt, aber dafür funktionierts! :) Danke!

    - hast du dir selbst beantwortet, mit "and" bzw. & oder &&
    - hast du dir selbst beantwortet mit < und == und >= usw.

    Dass es damit funktioniert ist mir ja auch bewusst, nur WO setze ich das WIE ein?! Da hapert es im Moment ;)

    Danke soweit, Greetz!
    Lars
  9. Hallo,

    web-dienstleistungen schrieb:
    Dass es damit funktioniert ist mir ja auch bewusst, nur WO setze ich das WIE ein?! Da hapert es im Moment ;)
    ein wenig bin ich nun doch am verzweifeln und denke du hast nicht so ganz genau gelesen was hier gepostet wurde. ;).
    WAS genau willst du WANN genau mit WAS genau nach WELCHEN konkreten Bedingungen verknüpfen oder vergleichen? Wer soll dir das abnehmen, du mußt doch wissen was du willst. Die eierlegende Wollmilchsau wirst du kaum finden: Irgendwas irgendwo eingeben und Irgendwas dabei denken, dann wird schon Irgendwas rauskommen... Das klappt nicht (immer). Ich kann z.B. nur erahnen dass es so was wie ein Shop werden soll (von denen es gefühlt mehrere hundert fertige gibt). Wenn du also z.B. einen Preis vergeichen willst, dann mach ein Feld Preis, lies den Wert aus, suche in den Preisdaten der Seite und vergleiche und reagiere darauf. Wenn du Mindest- und Höchstpreis hast, dann verknüpfe beide Suchergebnisse vor der Reaktion miteinander.
    Schau dir mal mobile.de an, da ist alles Mögliche drin.
    Das Thread Thema ist ja eigentlich beantwortet und vielleicht willst du ja auch gar keine konkrete Antwort auf deine weiteren Fragen und sinnierst so vor dich hin :confused:

    Gruß
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!