Den kleinsten passenden Wert mit jQuery oder Javascript finden

8

Betrachten Sie ein Markup wie

%Vor%

Angenommen, ich habe einen Wert mit mir, sagen wir 7. Ist es möglich, das Options-Tag zu targetieren, dessen value -Attribut am nächsten bei 7 liegt, was in diesem Fall <option value="8"> wäre?

Mir ist ^ bekannt, was bedeutet, mit und $ zu beginnen, was bedeutet, mit end zu enden und zu hoffen, wenn es so etwas gibt, um die beste Übereinstimmung für einen gegebenen Wert zu finden.

    
asprin 10.01.2013, 10:27
quelle

6 Antworten

4

Ich werde so gehen:

Ссылка

%Vor%     
A. Wolff 10.01.2013, 10:48
quelle
3

Wie wäre es mit einer Rekursion? Es wird den nächstliegenden Wert finden:

JS-BIN-Demo

%Vor%     
Akhil Sekharan 10.01.2013 10:37
quelle
1

Ja subtrahiere einfach deinen Wert (7) mit den Optionswerten (benutze jede Funktion) ... der Wert mit dem minimalen positiven Ergebnis wird deine Zieloption sein. Ich hoffe, du wirst das gewünschte Ergebnis haben.

    
Rajiv007 10.01.2013 10:34
quelle
1

Der einfachste Weg ist vielleicht die gute alte lineare Suche (Sie können eine Binärdatei erstellen, aber es ist komplizierter als gewöhnlich):

%Vor%     
John Dvorak 10.01.2013 10:39
quelle
1
%Vor%     
karaxuna 10.01.2013 10:39
quelle
1

Wenn Sie jquery verwenden können, würde ich etwas wie

tun %Vor%

In sortByDifference haben Sie alle Werte sortiert, wie nahe sie Ihrem Wert sind. Die Routine gibt den nächstgrößeren oder -niedrigeren Wert zurück und erfordert keine Sortierung der Optionen.

    
alexb 10.01.2013 10:39
quelle

Tags und Links