webForumDet fria alternativet

Få ett värde i från lista till en texruta

JavaScript

14 svar · 879 visningar · startad av Prime_66

Medlem sedan aug. 2004290 inlägg
Frågan#1

Jag har en lista (<select>) med lite olika värden. När man klickar på en av dessa vill jag att detta värde ska hamna i en textruta. Klickar man på ett annat alternativ ska detta läggas efter det första värdet i textrutan. Nån som gjort något liknande o kan hjälpa?

Medlem sedan jan. 20032 285 inlägg
#2

Är det något sånt här du vill ha?

function addChoice(o) {
  o.form.tbox.innerHTML += " " + o.options[o.selectedIndex].innerHTML;
}

<form>
  <select id="sbox" name="sbox" onchange="addChoice(this);">
    <option>Val 1</option>
    <option>Val 2</option>
    <option>Val 3</option>
  </select><br />
  <textarea cols="20" rows="4" id="tbox" name="tbox"> </textarea>
</form>
Medlem sedan aug. 2004290 inlägg
#3

Tja!
Ja, fast jag vill ha en vanlig <input type="text"> istället för en textarea.Testade att bara byta ut men det funkade inte?

Medlem sedan jan. 20032 285 inlägg
#4

Då byter du bara ut funktionen till

function addChoice(o) {
  o.form.tbox.[b]value[/b] += " " + o.options[o.selectedIndex].innerHTML;
}
Medlem sedan jan. 20011 140 inlägg
#5

Jag tänkte återuppliva den här tråden lite. Hur man kan föra över värdet från en vanlig länk till textrutan? Typ <a href="#" onClick="Lägg in i textrutan">Klicka här</a>.

Medlem sedan juni 20019 519 inlägg
#6

Ja, vanlig text menar du innerText eller href-attributet?

Medlem sedan jan. 20011 140 inlägg
#7

Hmm, jag vet inte riktigt vad innerText gör. Men t.ex. <a href="#" onClick="update.textboxName("med detta")">Klicka här</a>. Vet inte hur jag ska förklara riktigt :)

Medlem sedan juni 20019 519 inlägg
#8

Ja. skapa en ny metod med en en parameter där det är strängen (även om du måste ha ' då och inte " )

eller med jquery:

$("a.addText").click(function( e ) {
	e.preventDefault();
	var form = $("selectorForForm"),
		formValue = form.val();
	
	form.val(formValue + " " + this.title);
});

där behöver du ändra form CSS selectorn till vad vilket formulär du skall lägga in värdet i.

Och HTML koden för a-elementet:

<a href="#" title="med detta" class="addText">Something cool!</a>
Medlem sedan jan. 20011 140 inlägg
#9

Hmm jag får det inte att funka riktigt. Jag lade in jQuery koden i <script type="text/javascript"></script> i <head> taggen. Är selectorForForm namnet på textrutan eller var skriver man det?

Medlem sedan juni 20019 519 inlägg
#10

om du skall köra jquery måste ju du ha en DOM ready

$(function() {
/*Kod som skall göras så fort DOM:en är redo (så man hittar element) */
});

selectorForForm kan vara ett ID: #myForm där du har <form id="myForm">

Medlem sedan jan. 20011 140 inlägg
#11

Okej, men hur skriver man en funktion som skickar title-värdet från <a href> till textrutan searchbox då? Och var ska man stoppa in koden för funktionen?

Medlem sedan juni 20019 519 inlägg
#12

i DOM-ready blocket.

Men du måste redigera koden med rätt textarea-element (cssSelector) inte form ;) my bad.

edit:

Exempel: http://voigt.se/sandbox/wf/streetrobban/addText/

Medlem sedan jan. 20011 140 inlägg
#13

Hehe okej, jag förstår fortfarande inte eftersom jag inte kan javascript eller jQuery.

Medlem sedan juni 20019 519 inlägg
#14

streetrobban skrev:

Hehe okej, jag förstår fortfarande inte eftersom jag inte kan javascript eller jQuery.

Börjar nog bli dags att lära dig grunderna då väl? ;)

Medlem sedan jan. 20011 140 inlägg
#15

Ja, jag måste bara hitta tid till det :)

311 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
157 ms — deklarationer (db)
0 ms — hämta statistik (cache)
143 ms — hämta tråd, inlägg och bilagor (db)
163 ms — ändringar (db)