Rolf B: Inputfeld auslesen und belegen

Beitrag lesen

Hallo Jörg,

Meine Frage ist, ob ich den "Suchbegriff" auslesen und im Querystring weiter geben kann.

Ich würde sagen: Ja.

Das id-Feld des Plugins wird anscheinend zufällig generiert,

Ich würde sagen: Nein. Die von Dir verlinkte Demoseite zeigt das Gegenteil. Wenn ich den Text auf der Github-Seite richtig deute, war das mal anders und es wurde geändert. Auf der Demoseite wird der quicksearcher wie folgt registriert:

$('input#id_search').quicksearch('table#table_example tbody tr');

Der Selektor ist unnötig spezifisch, #id_search oder #table_example tbody tr würden auch reichen, denn eine ID kann ja nur einmal verwendet werden.

Wie auch immer, da ist ein input-Element mit id="id_search", und diese ID ist nicht zufällig vergeben, sondern kommt von Dir und ist damit wohlbekannt. Über diese ID kommst Du an das Suchfeld heran, kannst den Wert mit $("#id_search").val() auslesen und ihn beispielsweise in ein hidden input eintragen.

Was man probieren müsste, ist eine Vergrößerung des Forms in dem das Suchfeld steht. Die Beispiele verwenden diese Struktur:

<form action="#">
   <input id="suchfeld">   <!-- hier fehlt übrigens ein Label! -->
</form>
<table id="tabelle">
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</table>

Das Form wird nicht submitted, es scheint aus Sicht von Quicksearch ein Dummy zu sein. D.h. man könnte es auch so gestalten:

<form action="#">
  <label>Suchbegriff: <input name="suchfeld"></label>
  <table id="tabelle">
    <tr><td><button name="formular" value="1">Formular</button></td></tr>
    <tr><td><button name="formular" value="2">Formular</button></td></tr>
    <tr><td><button name="formular" value="3">Formular</button></td></tr>
  </table>
</form>

Wenn das funktioniert, klickt der Anwender auf einen der Formular-Buttons und du bekommst am Server den Suchbegriff automatisch mitgeliefert.

Wenn die Seite wieder aufgerufen wird, kannst Du das input-Feld serverseitig vorbelegen. Wenn das Plugin das ignoriert, musst Du ein input-Event darauf triggern:

$('#id_search').trigger('input');

Dadurch läuft in quicksearch die Suche an.

Rolf

--
sumpsi - posui - obstruxi