Параметр HTML <select> для заполнения текстового поля содержимым HTML

Я использовал приведенный ниже код, найденный на JSFiddle, который отлично работает, но когда я реализую его с помощью своего кода, который представляет собой текстовую область, поддерживающую HTML, похоже, что он не работает. Это код, в который я хочу его реализовать, но он не работает. Кто-нибудь может посоветовать? Мой код:

<div text-angular = "text-angular" name = "htmlcontent" ng-model = "htmlcontent" ta-disabled='disabled'></div>
  <p>
    <textarea type  = "text" id = "message" ng-model = "htmlcontent" required = "required" style = "display: none;" name = "message" required /></textarea>
  </p>

JSFIDDLE HTML:

<select id = "dropdown">
    <option value = "">None</option>
    <option value = "text1">text1</option>
    <option value = "text2">text2</option>
    <option value = "text3">text3</option>
    <option value = "text4">text4</option>
</select>

JSFIDDLE JS:

var mytextbox = document.getElementById('mytext');
var mydropdown = document.getElementById('dropdown');

mydropdown.onchange = function(){
  mytextbox.value = mytextbox.value  + this.value;
}

Любой совет будет очень признателен?

Опишите "не работает"?

Azsgy 05.04.2018 13:40

Когда я нажимаю одну из опций раскрывающегося списка, текстовая область не заполняется. Я думаю, это связано с текстом Angular

grahaswll 05.04.2018 13:49

ты делаешь в угловом?

Darshan Dave 05.04.2018 13:54

Использование text-angular для создания текстовой области, кроме ввода html?

grahaswll 05.04.2018 13:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
710
3

Ответы 3

Вам нужно получить значение от события так:

mydropdown.onchange = function(e){
    mytextbox.value = mytextbox.value  + e.value;
}

Значит, JS должен быть таким? var mytextbox = document.getElementById ('mytext'); var mydropdown = document.getElementById ('раскрывающийся список'); mydropdown.onchange = функция (e) {mytextbox.value = mytextbox.value + e.value; }

grahaswll 05.04.2018 13:09

чтобы получить доступ к раскрывающемуся значению элемента, используйте это

mydropdown.options[mydropdown.selectedIndex].value;

и когда вы объединяете текстовую область, добавьте пространство для хорошего просмотра

 mytextbox.value = mytextbox.value +' '+ mydropdownValue;

посмотреть код

var mytextbox = document.getElementById('message');
var mydropdown = document.getElementById('dropdown');

mydropdown.onchange = function() {
  var mydropdownValue = mydropdown.options[mydropdown.selectedIndex].value;
  mytextbox.value = mytextbox.value + ' ' + mydropdownValue;
}
My Code:
<div text-angular = "text-angular" name = "htmlcontent" ng-model = "htmlcontent" ta-disabled='disabled'></div>
<p>
  <textarea type = "text" id = "message" ng-model = "htmlcontent" required = "required" style = "display: block;" name = "message" required /></textarea>
</p>
</div>
HTML JSFIDDLE:

<select id = "dropdown">
    <option value = "">None</option>
    <option value = "text1">text1</option>
    <option value = "text2">text2</option>
    <option value = "text3">text3</option>
    <option value = "text4">text4</option>
</select>

Спасибо, но я включил приведенный выше код, но у меня он не работает. Я думаю, что текстовая область, поддерживающая HTML, или текст Angular вызывает проблему. Вы можете посоветовать?

grahaswll 05.04.2018 13:48

ваш идентификатор текстовой области - «сообщение», вам нужно вызвать это, когда в вашем JS напишите «document.getElementById», например, этот document.getElementById («message»);

eborrallo 05.04.2018 13:51

Да, я это изменил. Это не проблема

grahaswll 05.04.2018 13:53

var text = document.getElementById('message');
var drop = document.getElementById('dropdown');
drop.addEventListener('change',function(e){
text.value += ' ' + e.target.value;
//OR ` ${e.target.value}`
})
<div text-angular = "text-angular" name = "htmlcontent" ng-model = "htmlcontent" ta-disabled='disabled'></div>
<p>
  <textarea type = "text" id = "message" ng-model = "htmlcontent" required = "required" style = "display: block;" name = "message" required /></textarea>
</p>
</div>
  <select id = "dropdown">
    <option value = "">None</option>
    <option value = "text1">text1</option>
    <option value = "text2">text2</option>
    <option value = "text3">text3</option>
    <option value = "text4">text4</option>
</select>

Другие вопросы по теме