使用json加速填充选择选项

时间:2018-01-15 14:46:51

标签: jquery json ajax

我已成功使用json填充选择列表。然而,在处理时存在滞后。我将有一个大约300-400个元素的列表,是否有人会以更好的方式(最佳性能)填充选择列表?

我使用的代码是:

{{1}}

});

我想根据第一个列表的输出填充第二个列表,但由于性能滞后,我决定不执行此操作并对提交进行处理。除非有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

开头的常见jquery
  1. 缓存元素查询
  2. 分离..附加模式以仅在附加vs每个追加调整DOM
  3. 应用于您的代码:

    $.ajax({
    'method':'post',
    'url':wpajax_initialise_combos, //url to my action
    'datatype':'json',
    'cache': false,
    'success': function( from_data )
    {
      var $select1 = $("#combobox");
      var $parent1 = select.parent();
      $select1.detach();
    
      var $select2 = $("#combobox2");
      var $parent2 = select.parent();
      $select2.detach();
    
      var from_obj = jQuery.parseJSON(from_data);
      $.each(from_obj, function(key, value) {
         $select1.append($("<option></option>")
                          .attr("value",key)
                          .text(value));
         $select2.append($("<option></option>")
                         .attr("value",key)
                         .text(value));
      });
    
      $parent1.append($select1);
      $parent2.append($select2);
    }