使用Jade的下拉项中的可点击链接

时间:2015-10-02 15:10:38

标签: javascript node.js pug

我正在使用Node.js,Jade和Node包XLSX(用于Excel)创建一个简单的下拉菜单,该菜单将Excel文档中的工作表名称作为下拉菜单的字段。例如,如果不同的工作表名称是一年中的所有月份,我希望所有这些月份都是菜单中的可点击链接。

到目前为止,我已经能够将Excel文件中的工作表名称放入下拉菜单中,但我不确定如何将它们设置为所有可点击链接。

index.js

str

index.jade

   router.get('/', function(req, res, next) {
    var workbook = xlsx.readFile('C:/Users/user/Desktop/1234.xlsx');


  var listStuff = [];
  _.each(workbook.SheetNames, function(value, key, collection) {

  listStuff.push(value);
   // console.log(value);
})

1 个答案:

答案 0 :(得分:1)

我没有意识到你最初使用的是select元素。要将链接应用于select元素,您必须使用javascript。这样的事情应该有效。

select(id="foo", name="xxxyyy")
 -for(var i = 1;i<10;i++){
 option(value="https://www.google.ca") Some value for #{i}
 -}

script.
 document.getElementById("foo").onchange = function() {
    if (this.selectedIndex!==0) {
        window.location.href = this.value;
    }        
 };

Codepen不允许链接,但是如果你去http://codepen.io/chrislewispac/pen/epvgGb 并打开控制台,你会看到它正在链接。

下面的评论/问题是您需要的确切代码:

更新了CodePen: http://codepen.io/chrislewispac/pen/epvgGb

- var listStuff = ['thing','thing2','thing3']

select(id="foo", name="xxxyyy")
each val, i in listStuff
option(value="https://www.google.ca") Value is: #{val}

script.
document.getElementById("foo").onchange = function() {
    if (this.selectedIndex!==0) {
        window.location.href = this.value;
    }        
};

请注意,您不需要在代码中将var listStuff声明为数组,因为您已从服务器获取它。