通过Js插入选项时出错

时间:2015-08-10 20:16:08

标签: javascript dom

我刚刚编写了这个Js函数,虽然这有效,但我仍然在控制台上收到此错误消息:

Erro ao inserir options no seletor ... do tipo ... : ReferenceError: seletor is not defined

调用inserirOptions函数:

for(var i in this.JsonTipoPgto) {
  this.inserirOptions(this.JsonTipoPgto[i].id, this.JsonTipoPgto[i].tipo_pagamento, this.almsSeletor, this.almsTipoSeletor);
}

我的Js功能如下:

compSimplf.prototype.inserirOptions = function(id, valor, seletor, tipoSeletor) {
  try {
    if(tipoSeletor == 'id') {
      this.almsSelect = document.getElementById(seletor);
      this.gerarOptions(id, valor);
    } else if(tipoSeletor == 'classe') {
      var aClasse = document.getElementsByClassName(seletor);
      for(var i in aClasse) {
        this.almsSelect = aClasse[i];
        this.gerarOptions(id, valor);
      }
    }

  } catch(err) {
    console.log('%c Erro ao inserir options no seletor '+seletor+' do tipo '+tipoSeletor+': '+err, 'background: #A52A2A; color: #FFFFE0');
  }
};

生成选项的功能:

compSimplf.prototype.gerarOptions = function(id, valor) {
  try {
    this.almsOption = document.createElement("option");
    this.almsOption.value = id;
    this.almsOption.text = valor;
    this.almsSelect.add(this.almsOption); //The error shows while running this line
  } catch(err) {
    console.log('%c Erro ao gerar options no seletor '+seletor+' do tipo '+tipoSeletor+': '+err, 'background: #A52A2A; color: #FFFFE0');
  }
};

0 个答案:

没有答案