Выберите значение без кнопки

1

У меня есть выбор, и мне нужно установить validatoin для выбранного без функции onclick. Поэтому, если я выбрал Healthcare, я могу сделать innerHTML информацией в параграфе, не нажимая на кнопку.

<select name="industry" id="industry">
    <option value="none"> </option>
    <option value="1">Healthcare</option>
    <option value="2">Mining</option>
    <option value="3">Power</option>
    <option value="4">Audit</option>
    <option value="5">Accounting</option>
    <option value="6">IT</option>
    <option value="7">Telecommunications</option>
    <option value="8">Justice</option>
    <option value="9">Insurance</option>
    <option value="10">International Organizations/Embassies</option>
    <option value="100">Other</option>
</select>
Теги:
select
validation

4 ответа

0
Лучший ответ

Вот решение в чистом Javascript:

var select = document.getElementById('industry');
var p = document.getElementById('paragraph')

select.addEventListener('change', () => {
  p.innerHTML = select.options[select.selectedIndex].value;
})
<select name="industry" id="industry">
    <option value="none"> </option>
    <option value="1">Healthcare</option>
    <option value="2">Mining</option>
    <option value="3">Power</option>
    <option value="4">Audit</option>
    <option value="5">Accounting</option>
    <option value="6">IT</option>
    <option value="7">Telecommunications</option>
    <option value="8">Justice</option>
    <option value="9">Insurance</option>
    <option value="10">International Organizations/Embassies</option>
    <option value="100">Other</option>
</select>

<p id="paragraph"></p>
0

Вы можете сделать это так:

document.querySelector('#ice-cream').onchange = changeEventHandler;

function changeEventHandler(event) {
  const span = document.querySelector('#text');   
  if (!event.target.value) span.innerHTML = 'Please Select One';   
  else span.innerHTML = 'You like ' + event.target.value + ' ice cream.';
}
<label>Choose an ice cream flavor:
    <select id="ice-cream" name="ice-cream">
        <option value="">Select One</option>
        <option value="chocolate">Chocolate</option>
        <option value="strawberry">Strawberry</option>
        <option value="vanilla">Vanilla</option>
    </select>
</label>
<br/>
<br/>
<span id="text"></span>
0

Вы также можете использовать plain js для этого.

document.querySelector('select[name="industry"]').onchange=function(event){
    switch(event.target.value){
      case "1":
            document.querySelector("#paragraph").innerHTML = "Information to display"
    break;
    default:
            document.querySelector("#paragraph").innerHTML = "default message"
    break;
  }
};
0

Попробуйте использовать событие jquery и используйте

<script>
$(document).ready(function(){
    $("#industry").change(function(){ 
        //$("#paragraph_id").text("your text"); 
        // or $("#paragraph_id").append("your text");

    }
});
</script>
  • 0
    я не знаю jquery так хорошо, поэтому я стараюсь не использовать его, что-нибудь еще, что я могу использовать в JS6?
  • 0
    @ Анна, решение clearshot66 в порядке, но написано в jQuery. Если вы не в порядке с этой библиотекой, я добавил решение в чистом Javascript
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню