Hallo.
Entlich funktioniert die Abfrage und Anzeige so wie es soll.
Gibt es eigentlich ein Problem wenn ich nun 3 solcher Textboxen mit Autocomplete versehe?
Jede Textbox gibt andere Daten aus einer anderen Datenbank aus.
Ich habe nämlich 3 solche Texboxen und die 1. (Produktnummer) funktioniert wunderbar.
Die 2te Box (Prozessauftrag) zeigt mir das Widget unterhalb der Textbox an aber ohne das ich den Text sehen kann.
Wenn ich z.b die ersten 2 zahlen eingebe werden mir 20 leere Zeilen angezeigt. Gebe ich weitere Zahlen in das Textfeld ein, so kann ich sehen das das Widget immer kleiner wird und weniger Ergebnise anzeigt.
Beim 3. Textfeld funktioniert das autocomplete gar nicht, obwoll es genau gleich aufgebaut ist wie die anderen.
Gibt es einen eleganteren Weg als den, den ich gewählt habe?
Auszug aus der index.tpl - Datei (Ist eine Smarty Datei)
index.js
Es wird für jedes Textfeld eine eigene autocomplete...php aufgerufen.
Diese sind bis auf das DB-Select identisch.
Auf jedes Textfeld wird beim reinklicken ein onclick ausgeführt.
Was mache ich falsch?
Gruss Andreas
Entlich funktioniert die Abfrage und Anzeige so wie es soll.
Gibt es eigentlich ein Problem wenn ich nun 3 solcher Textboxen mit Autocomplete versehe?
Jede Textbox gibt andere Daten aus einer anderen Datenbank aus.
Ich habe nämlich 3 solche Texboxen und die 1. (Produktnummer) funktioniert wunderbar.
Die 2te Box (Prozessauftrag) zeigt mir das Widget unterhalb der Textbox an aber ohne das ich den Text sehen kann.
Wenn ich z.b die ersten 2 zahlen eingebe werden mir 20 leere Zeilen angezeigt. Gebe ich weitere Zahlen in das Textfeld ein, so kann ich sehen das das Widget immer kleiner wird und weniger Ergebnise anzeigt.
Beim 3. Textfeld funktioniert das autocomplete gar nicht, obwoll es genau gleich aufgebaut ist wie die anderen.
Gibt es einen eleganteren Weg als den, den ich gewählt habe?
Auszug aus der index.tpl - Datei (Ist eine Smarty Datei)
HTML:
<form name=search>
<div id=search_nr><input id='prodnr' class=search_text style='color:Gray;' type=text name=prod_nr value='Produktnr.' maxlen=10 onclick=text_clear();></div>
<div id=search_text><input id='prodname' class=search_text style='color:Gray;' type=text name=prod_name value='Produktname' onclick=text_clear();></div>
<div id=search_prozes_nr><input id='aauftrnr' class=search_text style='color:Gray;' type=text name=a_auftr_nr value='Prozessauftragsnr.' onclick=text_clear();></div>
<div id=submit_search><input type=submit name=search value=Suchen></div>
</form>
index.js
HTML:
// Autocomplete Prozessauftrag
$(function()
{
$("#aauftrnr").autocomplete(
{
source: "autocomplete_a.php",
minLength: 2,
select: function(event, ui)
{
}
});
});
// Autocomplete Produktnummer
$(function()
{
$("#prodnr").autocomplete(
{
source: "autocomplete_pnr.php",
minLength: 2,
cacheLength:200,
select: function(event, ui)
{
}
});
});
// Autocomplete Produktname
$(function()
{
$("#prodname").autocomplete(
{
source: "autocomplete_pna.php",
minLength: 2,
cacheLength:200,
select: function(event, ui)
{
}
});
});
// Im Textfeld Text loeschen beim hineinklicken
function text_clear()
{
$(document).ready(function()
{
$('.search_text').click(function()
{
if (this.value == this.defaultValue)
{
this.value = '';
}
});
$('.search_text').blur(function()
{
if (this.value == '')
{
this.value = this.defaultValue;
}
});
});
}
// Accordeon Ansicht.
$(function()
{
$( "#accordion" ).accordion({
clearStyle: true,
autoHeight: false
});
});
Diese sind bis auf das DB-Select identisch.
Auf jedes Textfeld wird beim reinklicken ein onclick ausgeführt.
Was mache ich falsch?
Gruss Andreas