Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya dapat meningkatkan kecekapan senarai dropdown untuk negeri dan bandar?

Bagaimanakah saya dapat meningkatkan kecekapan senarai dropdown untuk negeri dan bandar?

Linda Hamilton
Lepaskan: 2025-01-28 18:11:14
asal
598 orang telah melayarinya

How Can I Improve the Efficiency of Loading Dropdown Lists for States and Cities?

Strategi Memuatkan Senarai Negeri -To -Down Negeri Negeri dan Bandar

Kaedah memuatkan senarai -drop -down list secara langsung apabila memuatkan pada halaman tidak cekap. Artikel ini akan memperkenalkan amalan yang lebih cekap dan terbaik.

Kaedah yang disyorkan:

<.> 1. Gunakan model paparan:

Buat model paparan, termasuk hartanah StateId, CityID, Statelist, dan CityList. Ini membantu data pakej dan menyediakan jenis yang kuat.

<.> 2. Gunakan JavaScript bukan -in -invasive:

Elakkan menggunakan JavaScript Inner Union dalam tanda. Sebaliknya, JavaScript yang tidak -digunakan untuk memisahkan HTML dan tingkah laku.

pengubahsuaian senarai drop -down:

html:

JavaScript:

Pengoptimuman cache:

<code class="language-html">@Html.DropDownList(m => m.StateID, States, "选择州")  //移除onchange属性
@Html.DropDownListFor(m => m.CityID, Cities, "选择城市") //保留默认ID</code>
Salin selepas log masuk
Jika berbilang item diberikan, dan pilihan mereka mungkin termasuk bandar -bandar dari keadaan yang sama, cache boleh digunakan untuk mengelakkan panggilan API berulang.

Kaedah Penggantian Ajax Ajax:

<code class="language-javascript">const url = '@Url.Action("GetCities", "Home")'; // 使用助手方法
const citiesDropdown = $('#CityID'); // 缓存元素

$('#StateID').change(function () {
  $.getJSON(url, { id: $(this).val() }, function (response) {
    // 清空并添加默认(null)选项
    citiesDropdown.empty().append($('<option></option>').val('').text('请选择'));

    $.each(response, function (index, item) {
      citiesDropdown.append($('<option></option>').val(item.Value).text(item.Text));
    });
  });
});</code>
Salin selepas log masuk
Jika bilangan negeri dan bandar adalah terhad, semua bandar boleh diserahkan kepada pandangan dan memberikannya kepada pelbagai JavaScript. Walau bagaimanapun, ini boleh membawa kepada masa yang lama pemuatan awal.

dalam pengawal:

dalam paparan (javascript):
<code class="language-javascript">const cache = {};

$('#StateID').change(function () {
  const selectedState = $(this).val();

  if (cache[selectedState]) {
    // 从缓存中渲染选项
    // ... 使用cache[selectedState]渲染城市下拉列表
  } else {
    $.getJSON(url, { id: selectedState }, function (response) {
      // 添加到缓存
      cache[selectedState] = response;

      // ... 使用response渲染城市下拉列表
    });
  }
});</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya dapat meningkatkan kecekapan senarai dropdown untuk negeri dan bandar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan