javascript - 使用 jquery/javascript 查找包含标题的 csv 文件

标签 javascript jquery html csv

我的查找文件看起来像这样。

APP_FAMILY,APPLICATION
app_fam1,app_name1
app_fam1,app_name2
app_fam2,app_name3
app_fam2,app_name4

我有两个选择字段,如下所示:

这是我要显示“不同的”APP_FAMILY 列值的地方

Select Application Family: <select id="app_family"></select>

这是我要显示与所选 APP_FAMILY 对应的 APPLICATION 列值的地方

Select Application: <select id="app"></select>

现在我希望这两个 select 标记都由查找文件中的 jquery 或 javacript 填充。这就是约束。有人可以建议如何进行吗?

最佳答案

我将在此处使用 jQuery 作为答案。 首先,您需要加载 CSV 文件。然后你解析它,同时构建家庭选择。最后,您需要监听更改并更新应用选择。

$.ajax('/path/to/lookup.csv').done(function(data) {
  data = data.split('\n'); //replace with \r\n if you use Windows line endings
  data.shift(); //remove header

  var families = {},
      $family = $('#app_family'),
      $app= $('#app');
  for (var i = 0; i < data.length; i++) {
    if (!data[i]) {
      continue; //skip empty lines
    }
    var fields = data[i].split(',');
    if (!families.hasOwnProperty(fields[0])) {
      families[fields[0]] = [];
      $family.append('<option value="' + fields[0] + '">' + fields[0] + '</option>');
    }
    families[fields[0]].push(fields[1]);
  }

  //next, fill in app select whenever the selected family changes
  function updateApp() {
    var family = families[$family.val()];
    var html = '';
    for (var i = 0; i < family.length; i++) {
      html += '<option value="' + family[i] + '">' + family[i] + '</option>';
    }
    $app.html(html)
  }
  updateApp();
  $family.change(updateApp);
})

这是一个jsfiddle .

关于javascript - 使用 jquery/javascript 查找包含标题的 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31862517/

相关文章:

javascript - 为什么在声明状态后我的 React 渲染两次?

javascript - Jquery函数将选项列表拆分为分层选择

javascript 不解码 html 值

php - 代码点火器 : dependent dropdown not working

javascript - Backbone js。如何在backbone js中将数据从 View 传递到模板

html - java applet 上面的 DIV

javascript - 当一段文本包含引号时,如何将其转换为字符串?

jquery - 如何以 jquery.timeago 格式显示过去 24 小时的日期,否则显示短月份名称

javascript - jquery 隐藏/显示来自 ul 的列表元素

javascript - SoundCloud API 给出 ​​ "Uncaught SyntaxError: Unexpected token : "错误