• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Oblokowanie inputu gdy wybrana jest opcja

VPS Starter Arubacloud
+1 głos
158 wizyt
pytanie zadane 1 marca 2022 w JavaScript przez Squbany221 Użytkownik (640 p.)

Witam mam problem z jedną funkcją. Chciałbym aby w formularzu pewne pola nie był aktywne dopóki nie wybiorę opcji w select option. Próbowałem takie coś zrobić w jquery ale za bardzo coś nie działa. Czy moglibyście mi z tym pomóc?

```

<div class="col-4">
   <label>Enabled </label>
   <select name="stato" id="stato" class="form-control">
      <option value="Text1">Text1</option>
      <option value="Text2">Text2</option>
      <option value="Text3">Text3</option>
      <option value="Text4">Text4</option>
   </select>
</div>
 
<div class="col-4" >
   <label>Disabled when choose option in select</label>
   <input id="data_consegna" type="text" class="form-control" name="data_consegna" placeholder="Data Consegna" />
</div>

```

$(function() {
  $('#data_consegna').prop('disabled', true);
  $('#stato option').each(function() {
    if ($(this).is('selected')) {
      $('#data_consegna').prop('enabled', true);
    } else {
      $('#data_consegna').prop('enabled', false);
    }
  });
});

```

```

1 odpowiedź

0 głosów
odpowiedź 1 marca 2022 przez VBService Ekspert (251,210 p.)

Z select-a wybranie "pierwszego" option-a, blokuje input-a, pozostałe odblokowują

<div class="col-4">
  <label>Enabled </label>
  <select name="stato" id="stato" class="form-control">
    <option value="">Select ...</option>
    <option value="Text1">Text1</option>
    <option value="Text2">Text2</option>
    <option value="Text3">Text3</option>
    <option value="Text4">Text4</option>
  </select>
</div>

<div class="col-4" >
  <label>Disabled when choose option in select</label>
  <input id="data_consegna" type="text" class="form-control" name="data_consegna" placeholder="Data Consegna" />
</div>
let stato_select, data_consegna_input;
window.addEventListener('load', load);

function load() {
  stato_select = document.querySelector('#stato');
  data_consegna_input = document.querySelector('#data_consegna');
  data_consegna_input.disabled = true;
  
  stato_select.addEventListener('change', toggleDataConsegna);
}

function toggleDataConsegna() {
  //console.log(stato_select.selectedIndex);
  if (stato_select.selectedIndex != 0) {
    data_consegna_input.disabled = false;
    data_consegna_input.focus(); // Wstawienie kursora
  }
  else
    data_consegna_input.disabled = true; 
}

 

Podobne pytania

+3 głosów
1 odpowiedź 472 wizyt
pytanie zadane 18 listopada 2018 w JavaScript przez Pszemeek Początkujący (370 p.)
0 głosów
1 odpowiedź 164 wizyt
pytanie zadane 24 października 2018 w JavaScript przez Cichy799 Nowicjusz (200 p.)
0 głosów
1 odpowiedź 150 wizyt
pytanie zadane 29 kwietnia 2017 w JavaScript przez marcinconn Obywatel (1,560 p.)

92,454 zapytań

141,262 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...