javascript - 在 Electron 中动态添加选项元素到<select>

标签 javascript html electron

请理解这个问题与 Electron 中的 jscript 有关。 我有两个 .js 文件要打开并读入单独的数组中。我将其设置为主类型函数内的两个函数。 每个都将在 JavaScript 内的 html 文件中调用。它们将填充选择选项或将选择选项添加到选择输入框。

我很难调用它们(数组),因此可以将其读入选择选项代码。下面是 ('./app.js')

var zipArry = []; 
var zipResult = [];
var aniArry = [];
var aniResult = [];

var blah = (function() {

   function zipList(callback) {


    var lineReader = require('readline').createInterface({
    input: require('fs').createReadStream('.Text1.txt')
    });

    lineReader.on('line', function (line) {
        zipArry.push(line);
    });

    lineReader.on('close', function (line) {

    var Ncount = 0;
    for(var x =0; x < zipArry.length; x++){

        zipResult.push(zipArry[x]);

    }
  });
    callback(zipResult);
}



 function aniList(callback) {


    var lineReader = require('readline').createInterface({
    input: require('fs').createReadStream('./text2.txt')
    });

    lineReader.on('line', function (line) {
       aniArry.push(line);
    });

    lineReader.on('close', function (line) {

    var Ncount = 0;
    for(var x =0; x < aniArry.length; x++){

         aniResult.push(aniArry[x]);
        }

  });
   callback(aniResult);
 }
   return {
      ziplist: zipList,
      anilist: aniList
   };
}); 

   module.exports = blah;

这是包含 JavaScript 代码的 .html 文件的一部分。如果有办法让这变得更容易,请解释一下。我是菜鸟。

var blah = require('./apps2.js');
var Blah= new blah();          
Blah.ziplist();

var select = document.getElementById("zip");  
for (var i= 0; i<zipResult.length; i++){

  var el = document.createElement('option');
      var opt = zipResult[i];
      el.textContent = opt;
      el.value = opt;
      select.appendChild(el);
}

最佳答案

这就是答案。我改变了一些东西并创建了对象,然后将它们导出到 html 文件中。

var zipArry = []; 
var zipResult = [];
var aniArry = [];
var aniResult = [];

var blah = {

   ziplist: function zipList(callback) {


       var lineReader = require('readline').createInterface({
          input: require('fs').createReadStream('.Text1.txt')
       });

       lineReader.on('line', function (line) {
           zipArry.push(line);
       });

       lineReader.on('close', function (line) {

          var Ncount = 0;
          for(var x = 0; x < zipArry.length; x++){

             zipResult.push(zipArry[x]);

          }
          callback(zipResult);
       });

   }



   anilist: function aniList(callback) {


       var lineReader = require('readline').createInterface({
          input: require('fs').createReadStream('./text2.txt')
       });

       lineReader.on('line', function (line) {
           aniArry.push(line);
       });

       lineReader.on('close', function (line) {

           var Ncount = 0;
           for(var x = 0; x < aniArry.length; x++){

              aniResult.push(aniArry[x]);
           }
           callback(aniResult);
       });

    }

 }; 

   module.exports = blah;

在html文件中

var blah = require('./apps2.js');

Blah.ziplist(function(zipResult){

    var select = document.getElementById("zip");  
    for (var i = 0; i < zipResult.length; i++){

        var el = document.createElement('option');
        var opt = zipResult[i];
        el.textContent = opt;
        el.value = opt;
        select.appendChild(el);
    }
});

Blah.anilist(function(aniResult){

   var select = document.getElementById("ani");  
   for (var i = 0; i < aniResult.length; i++){

       var el = document.createElement('option');
       var opt = aniResult[i];
       el.textContent = opt;
       el.value = opt;
       select.appendChild(el);
   }
});

关于javascript - 在 Electron 中动态添加选项元素到<select>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39504806/

相关文章:

electron - 检查图片是否有效

python - app.asar(electron/nodejs)内没有这样的文件或目录

javascript - 我如何 stub fs 回调的注入(inject)参数以消除在测试套件中接触文件系统的需要?

javascript - plotly.js : how to access data other than x, y 点击事件

html - CSS loader/Progress spinner Material angular 2+

javascript - 如何让js生成的xml文件为utf-8

javascript - 如何自定义 Electron 标题栏以及如何使其可拖动

javascript - 我们可以用 Mongoose 检索 Node js中两个表的数据吗

javascript - 如何使用 mocha、chai 和 Protractor 等待元素

jquery - 将两个元素对齐在同一行