Suchfunktion mit Einschränkung
blackdespair
- javascript
0 JürgenB0 blackdespair0 JürgenB0 blackdespair0 JürgenB
Hallo Leute,
Ich habe eine Frage zu einer Such (Vergleichfunktion).
Momentan verwende ich eine sehr "dumme" Suche welche einfach nur das eingegebene Wort mit einer Liste Vergleicht und dann die restlichen Werte ausspuckt.
Ich würde nun gerne die Suche so auf bauen das wenn eine Checkbox ausgewählt wird bei der Suche noch andere Parameter berücksichtigt werden.
Hier das Script momentan:
--------------------------------------------------------------------
--------------------------------------------------------------------
Number = new Object();
Keyword = new Object();
Descrip = new Object();
Case = new Object();
Case [0] = 2
Keyword[0] = 2
Number [0] = 2
Format [0] = 2
Number [1] = "1a"
Case [1] = "a"
Keyword[1] = "test1"
Descrip[1] = "Test 1"
Number [2] = "2b"
Case [2] = "b"
Keyword[2] = "test2"
Descrip[2] = "Test 2"
function checkDatabasename()
{
var Found = false
var Item = document.forms[0].searchfor.value.toLowerCase();
MsgBox.document.write ("blablabla");
for (var i=1; i <= Keyword[0]; i++)
{
if(Item == Keyword[i])
{
Found = true;
MsgBox.document.write ("Ausgabe")
}
}
if(!Found)
MsgBox.document.write ("Kein Fund")
}
--------------------------------------------------------------------
--------------------------------------------------------------------
mir geht es darum das bei der Ausgabe noch der Wert "case" berücksichtigt wird.
Ich denke eigentlich das dies nicht so aufwendig ist, leider komme ich hierbei allerdings auf keinen grünen Zweig und würde mich über Hilfe und Anregungen freuen.
Vorab vielen Dank.
Hallo blackdespair,
mir geht es darum das bei der Ausgabe noch der Wert "case" berücksichtigt wird.
was meinst du damit? Soll Case auch überprüft werden?
if(Item == Keyword[i] || Item == Case[i])
Oder soll Case Ausgegeben werden?
MsgBox.document.write ("Ausgabe" + Case[i]);
Gruß, Jürgen
Hallo Jürgen,
danke für deine Antwort.
Case soll mitabgefragt werden.
Ich möchte mit checkboxen festlegen in welchem "case" gesucht wird.
z.B. nur in Case = A oder nur in Case = B
Mit der Funktion:
if(Item == Keyword[i] || Item == Case[i])
Würde er ja zur Caseabfrage auf die gleiche variable zurückgreife welche er zur suche verwendet. Kann man da eine weitere If Schleife einbauen welche nur wenn eine checkbox aktiviert ist nach einem "case" schlüsselt.
Gruß blackdespair
Hallo blackdespair,
irgendwie verstehe ich jetzt dein Problem nicht mehr. Nimm doch einfach ein zweites Eingabefeld und überprüfe es analog zum ersten:
var Item2 = document.forms[0].case.value.toLowerCase();
^ oder wie das neue Feld heißt
if(Item == Keyword[i] && Item2 == Case[i])
(Wenn Item identisch mit Keyword und Item2 identisch mit Case)
Gruß, Jürgen
PS Es gibt keine "if-Schleifen"
Hallo Jürgen,
var Item2 = document.forms[0].case.value.toLowerCase();
^ oder wie das neue Feld heißtif(Item == Keyword[i] && Item2 == Case[i])
(Wenn Item identisch mit Keyword und Item2 identisch mit Case)
Ok, das leuchtet mir soweit ein allerdings habe ich bei dieser Bedingung das Problem das es sich ja dann nicht mit einer Checkbox umsetzen lässt.
Desweiteren muss dann ein "case" angegeben werden sonst wird nichts mehr gefunden.
Ich würde wenn es dann wie gedacht funktioniert dies für alle werte anwendne wollen.
Ich habe das Script nämlich auf die nötigsten Variablen beschrenkt. Im eigentlichen Script sind noch mehr Variablen vorhanden.
Mit If-Schleife meinte ich keine schleife sondern nur die bedingung.
If checkbox1 == checked
// Suche in "case" A
If checkbox2 == checked
// Suche in "case" B
If checkbox3 == checked
// Suche in "case" C
Und wenn alle 3 checkboxen aktiviert sind soll er in allen 3 suchen.
Gruß blackdespair
Hallo blackdespair,
If checkbox1 == checked
// Suche in "case" A
if(Item == Keyword[i] && Case[i] == "a")
usw.
Und wenn alle 3 checkboxen aktiviert sind soll er in allen 3 suchen.
die Logik musst du dir jetzt selbst überlegen.
Gruß, Jürgen
Ok,
dann fang ich mal an etwas zu basteln.
Danke für deine Hilfe
Gruß blackdespair