Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: NicNeviem 05. 09. 2014, 09:44:59
-
Dobry den.
Kedze nic neviem potrebujem poradit. Skusal som v Javascripte vytvorit inser do textarray
<script type="text/javascript">
function insertText(elemID, text)
{
var elem = document.getElementById(elemID);
elem.innerHTML += text;
}
</script>
<input type="button" value="Insert some text" onclick="insertText('content', 'text');">
to funguje dobre. Ale potom som skusil pridat volbu select.
<script>
function myFunction() {
var x = document.getElementById("Select").selectedIndex;
alert(document.getElementsByTagName("option")[x].value);
}
</script>
<select id="Select">
<option value="a">A</option>
<option value="o">O</option>
<option value="p">P</option>
<option value="b">B</option>
</select>
A teraz neviem ako dynamicky previest ten select za text v inpute .
-
<select id="Select" onchange="myFunction()">
<option value="a">A</option>
<option value="o">O</option>
<option value="p">P</option>
<option value="b">B</option>
</select>
-
jo jenze ty chces stejne asi neco jinyho, co...
-
Pokud jde o ten text, který se zobrazuje v samotném selectu a ne jeho value, pak třeba
alert(document.getElementsByTagName("option")[x].text);
http://stackoverflow.com/questions/5069294/get-inner-html-of-the-selected-option
-
V tom selekte sa mi zobrazuje to je ok ale ja by som ho po treboval by sa zobazoval v
<input type="button" value="Insert some text" onclick="insertText('content', 'text');">namiesto toho textu to mi torsku nejde. Proste to co vyberiem vselekte aby sa pouzilo v inpute ako text pretoze ten input ide potom vlozit do textu.
-
Nevim, jestli jsem to dobře pochopil...
http://jsfiddle.net/62h41np8/
-
JáNěcovím: Skoro. Akorát že document.getElementsByTagName("option") ti při nejbližší příležitosti skript rozbije a u inputu/textarea bych místo innerHTML použil spíš vlastnost value. Takže spíš nějak takhle (http://codepen.io/anon/pen/qcida).
-
No skusil som asi 30 variacii ale nefunguje mi to dobre
<script type="text/javascript">
function myFunction(e) {
document.getElementById("text").innerHTML = document.getElementsByTagName("option")[e.selectedIndex].value;
var elemreturn = document.getElementById("text").innerHTML = document.getElementsByTagName("option")[e.selectedIndex].value;
}
function insertText(elemID)
{
var elem = document.getElementById(elemID);
elem.innerHTML += elemreturn;
}
</script>
toto vyberie co potrebujem a funkcia insertText by mala po kliku vlozit text
<div class="form-group <?php echo $this->element->content->getId();?>">
// sem by sa to malo vlozit
<?php echo $this->element->content;?>
</div>
<button data-toggle="dropdown" class="btn btn-default dropdown-toggle">
<span class="current-privacy-level"><?php echo $this->translate('citimsa select');?></span>
<select id="Select" onchange="myFunction(this)">
<option value="a">A</option>
<option value="o">O</option>
<option value="p">P</option>
<option value="b">B</option>
</select>
</button>
<input type="button" value="Insert some text" onclick="insertText('content');">
neviem ale ako v js dostat tu aktalnu select do toho textoveho pola
-
tak nejak?
http://jsfiddle.net/62h41np8/5/
-
Dakujem presne to som pouzil. Funguje to skvelo. Problemje ze neviem ako to cez js napchat do
<div class="form-group <?php echo $this->element->content->getId();?>">
// sem by sa to malo vlozit
<?php echo $this->element->content;?>
</div>
este doplnim ze je to v ZendeFramework
-
zend neznám, ale když budeš znát id toho divu, tak je kód úplně stejný...
-
Ok nakoniec som to poriesil takto
<script type="text/javascript">
function changeText2(){
var userInput = document.getElementById('userInput').value;
document.getElementById('content').innerHTML = userInput;
}
</script>
<input type='button' onclick='changeText2()' value='insert'/>
Funguje to skvelo ale problem je ten ze to vlozi text len raz a nevie vlozit uz do existujucoho textu.
Ma niekto ideu ako na to ?
-
Takze finalne riesenie
function changeText2() {
var newtext = document.getElementById('userInput').value;
document.getElementById('content').value += newtext;
}
Dakujem za pomoc