Rumah >hujung hadapan web >tutorial js >Bagaimana Menurunkan Populasi Berdasarkan Pemilihan Pengguna?

Bagaimana Menurunkan Populasi Berdasarkan Pemilihan Pengguna?

DDD
DDDasal
2024-10-18 13:12:031100semak imbas

How to Populately Dropdowns Based on User Selection?

Mengisi Dropdown Berdasarkan Pemilihan

Apabila membangunkan borang dengan berbilang dropdown, ia boleh memberi manfaat untuk mengisi pilihan dalam satu dropdown berdasarkan pemilihan dibuat di tempat lain. Ini membolehkan pengalaman yang lebih mesra pengguna dengan mengecilkan pilihan dan menjadikan input data lebih cekap.

Satu pendekatan untuk mencapai fungsi ini melibatkan penggunaan JavaScript untuk mengemas kini kandungan dropdown bergantung secara dinamik. Berikut ialah contoh yang menunjukkan cara mengisi satu lungsur turun (B) berdasarkan pemilihan dalam satu lagi (A):

<code class="javascript">function configureDropDownLists(ddl1, ddl2) {
  var colours = ['Black', 'White', 'Blue'];
  var shapes = ['Square', 'Circle', 'Triangle'];
  var names = ['John', 'David', 'Sarah'];

  switch (ddl1.value) {
    case 'Colours':
      ddl2.options.length = 0;
      for (i = 0; i < colours.length; i++) {
        createOption(ddl2, colours[i], colours[i]);
      }
      break;
    case 'Shapes':
      ddl2.options.length = 0;
      for (i = 0; i < shapes.length; i++) {
        createOption(ddl2, shapes[i], shapes[i]);
      }
      break;
    case 'Names':
      ddl2.options.length = 0;
      for (i = 0; i < names.length; i++) {
        createOption(ddl2, names[i], names[i]);
      }
      break;
    default:
      ddl2.options.length = 0;
      break;
  }
}

function createOption(ddl, text, value) {
  var opt = document.createElement('option');
  opt.value = value;
  opt.text = text;
  ddl.options.add(opt);
}

Fungsi JavaScript ini mengambil dua parameter, ddl1 dan ddl2, yang mewakili dua lungsur turun. Ia mula-mula memulakan tatasusunan dengan pilihan yang akan dipaparkan dalam setiap lungsur turun.

Seterusnya, pernyataan suis digunakan untuk mengendalikan pemilihan yang dibuat dalam ddl1. Bergantung pada nilai ddl1, ia mengosongkan pilihan dalam ddl2 dan mengisinya dengan pilihan yang sesuai. Fungsi createOption digunakan untuk mencipta dan menambah setiap pilihan pada ddl2.

Dalam HTML, dua dropdown harus ditakrifkan:

<code class="html"><select id="ddl" onchange="configureDropDownLists(this,document.getElementById('ddl2'))">
  <option value=""></option>
  <option value="Colours">Colours</option>
  <option value="Shapes">Shapes</option>
  <option value="Names">Names</option>
</select>

<select id="ddl2">
</select></code>

Apabila pengguna memilih pilihan dalam ddl1, perubahan pada peristiwa mencetuskan fungsi configureDropDownLists, yang mengemas kini pilihan dalam ddl2 dengan sewajarnya. Pendekatan ini menyediakan cara yang mudah untuk mengisi satu lungsur turun berdasarkan pemilihan dalam yang lain, meningkatkan kebolehgunaan borang.

Atas ialah kandungan terperinci Bagaimana Menurunkan Populasi Berdasarkan Pemilihan Pengguna?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn