27. marts 2001 - 10:49Der er
10 kommentarer og 1 løsning
Javascript og selectbox?
Hej Alle,
Jeg er intresseret i et script der muligører følgende:
I to input felter er det muligt at indtaste hhv. value og text til et punkt i en select box. Du kan tilføje det du har skrevet i de to felter til selectboxen og fjerne punkter i den vha. to knapper. Dette har jeg fået til at virke!
Det jeg ønsker er at samle alle værdier fra select boksen i to strenge (en der indeholder text og en der indeholder value) hvor værdierne er adskildt af enter (13) Altså:
value1 CR value2 CR value3 CR
og
text1 CR text2 CR text3 CR
Alternativt oprette hidden types der hindeholder værdierne.
Antallet af <option>s i selectboksen varierer altså.
forstår ikke helt (er ikke motiveret for at fatte det ;) hvad du vil, men jeg har engang skulle have en masse lorte information i en select boks, så skrev jeg bare en alt sammen i value feltet, med mellemrum som seperator. Da det blev posted, så splitttede jeg den op og fandt det jeg skulle bruge .. ved ikke om det er nogen hjælp
Ikke rigtigt - Det der er problemet er at værdierne i selectboxene kan indeholde alle karakterer bare ikke CR. Dvs. der kan godt være mellemrum, komma og så videre i dem.
Derfor vil jeg gerne samle alle værdierne op i et par hidden value i formen som jeg så poster. Det skal virke meget som:
function getLinks(lstLinks) { var result = \"\"; var titel = \"\"; if (FORM1.item(lstLinks).length == 0) {alert(\'You must have atleast one link in your favorite links!\'); return false;} for (var i = 0; i < FORM1.item(lstLinks).length; i++) { result += \",\" + FORM1.item(lstLinks).options[i].value titel += \",\" + FORM1.item(lstLinks).options[i].text } FORM1.links.value = result + \",\"; FORM1.titels.value = titel + \",\"; }
, eller noget i den stil, men uden komma som seperator. Det går ikke at sætte \"\\n\" ind, så jeg er på jagt efter noget som kan adde 13 (CR) til strengen...
Det går sagtens at tilføje \\n, \\f eller hvaffor et andet besynderligt tegn du vil. Men før du overfører de to arrays skal de omkodess med javascripts indbyggede escape( ... ) funktion:
result = escape(result); titel = escape(titel);
nu kan data sendes til server osv:
før du bruger dine strenge igen skal de unescapes:
result = unescape(result); titel = unescape(titel);
Når jeg forsøger dette får jeg bare en streng der står 0 i? Er det fordi jeg ikke unescaper? Jeg skal sige dig - jeg har ikke mulighed for at unescape strengen i den applikation der fanger strengen..
Fint nok og tak for points :) Hvad var der da galt?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.