Hej,
Jag undrar om det finns något fiffigt sätt att default markera en rad i en automatgenererad selectbox.
I denna så finns det 400 rader och jag vill att en viss rad som börjar på tex "Against..." ska vara markerad.
Finns det något smidigt sätt att åstakomma det?
Peter SMedlem sedan dec. 20025 483 inlägg function setsel(s)
{ var opts = document.forms[0].elements[0].options,
i = 0,
elm = null;
while (elm = opts[i++])
if (new RegExp("^" + s).test(elm.text)){ elm.selected = true; break; }
}
// användning: setsel("Against...")
Ett tillägg så den inte flippar om man har med regexp nyckelord i strängen.
function setsel(s)
{
s = s.replace(/(\W)/gi, "\\$1");
var opts = document.forms[0].elements[0].options,
i = 0,
elm = null;
while (elm = opts[i++])
if (new RegExp("^" + s).test(elm.text)) { elm.selected = true; break; }
}
Ni är så bra på det här !
Det fungerar fantastiskt bra. Rätt rad blir automatiskt vald. Men man ser inte att den är vald utan att scrolla ner ganska långt. Kan man påverka scrolllisten så att den hoppar ner till rätt rad?