我的页面上有超过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的最佳方式,还是有更有效的方式显示结果而不会给服务器带来巨大的负担?
提前谢谢你。