У меня есть огромный список из более чем 29 000 вариантов на моей странице. Я отображаю их в форме, используя select2, но из-за того, что есть так много опций, это резко замедляет страницу. Я знаю, что select2 поддерживает ленивую загрузку, но я не уверен, как реализовать это в моей форме.
Я использую этот код в своем файле functions.php, чтобы добавить выпадающий список в мою форму (показывать только пару опций, остальные не нужны)
add_filter( 'submit_job_form_fields', 'frontend_add_experience_field' );
function frontend_add_experience_field( $fields) {
$fields['job']['regions1'] = array(
'label' => __( 'Farming Areas', 'job_manager' ),
'type' => 'multiselect',
'required' => true,
'name' => 'regions1',
'placeholder' => 'Select A City',
'priority' => 8,
'options' => array(
"Abanda, AL"=>"Abanda, AL",
"Abbeville, AL"=>"Abbeville, AL",
"Adamsville, AL"=>"Adamsville, AL",
"Addison, AL"=>"Addison, AL",
"Akron, AL"=>"Akron, AL",
"Alabaster, AL"=>"Alabaster, AL",
"Albertville, AL"=>"Albertville, AL",
"Alexander, AL"=>"Alexander, AL",
"Alexandria, AL"=>"Alexandria, AL",
"Aliceville, AL"=>"Aliceville, AL",
));
return $fields; }
и это мой JavaScript для реализации Select2
<script>
jQuery(function($) {
$(document).ready(function() {
$("#regions1").select2({
placeholder: "Search for a City",
minimumInputLength: 4,
maximumSelectionLength: 4,
width: "200px",
});
});
});
</script>
Поскольку на моей странице есть около 29 000 опций, является ли ленивая загрузка наилучшим способом реализации select2 или есть более эффективный способ отображения результатов без огромной нагрузки на сервер?
Заранее спасибо.
Задача ещё не решена.
Других решений пока нет …