代码之家  ›  专栏  ›  技术社区  ›  Derek Adair

ie/jquery兼容性,动态填充选择字段

  •  1
  • Derek Adair  · 技术社区  · 15 年前

    不知道从哪开始…

    我有一个函数,它获取一个select输入字段ID,并用一个选项数组填充它。

    function populateSelect(selectId, options){
    
        options = options.split(';');
        selectId.find('option').remove().end();
    
        $.each(options, function(i, option){
          option = option.split(':');
          selectId.append($('<option />').val(String(option[0].trim())).text(String(option[1].trim())));
        });
    }
    

    示例调用是…

    selectId = $("#dateBar_graphSelect");
    var options = 'Pie:Pie;Column:Column';
    populateSelect(selectId, options);
    

    我进入IE 8的错误是…

    对象不支持此属性或方法(selectid.append行)

    考虑到该行有几个方法被调用,我不知道这里会发生什么。

    即使是关于调试这种情况的提示,也会对我有好处!!

    -提前谢谢你的帮助

    1 回复  |  直到 15 年前
        1
  •  0
  •   Derek Adair    15 年前

    脚本在处中断 option[0].trim()

    这很管用…

    function populateSelect(selectId, options){
    
        options = options.split(';');
        selectId.find('option').remove().end();
    
        $.each(options, function(i, option){
          option = option.split(':');
    
         selectId.append($('<option>')
                .val(String(option[0])) //NOTE - no trim
                .text(String(option[1])));
        });
    }