【问题标题】:How to insert javascript variable inside ejs tags如何在ejs标签内插入javascript变量
【发布时间】:2014-09-22 19:38:39
【问题描述】:

我正在做动态过滤,但我无法进行条件检查。

我想在 targetOS ){%>

中插入 targetOS var

对于上述语法,它给出“targetOS 变量未定义”

请帮忙。

	$(document).on("change",'.COTSCurrentOSClass', function(e){		
		var selectedOS   = $(this).val();				
		var targetOS =  "OS::From::"+selectedOS;
		
		<%for(var i=0;i<data.length;i++){%>
			<%if(data[i].ListNames == ***targetOS*** ){%>
				<%for(var j=0;j<data[i].Values.length;j++){%> 
				console.log("options are");
				console.log(data[i].Values[j]);
		<%}}}%>

		($(this).parent().parent()).find(".COTSTargetOSClass").append("<option>Select One</option>");
		
	});

【问题讨论】:

    标签: javascript jquery html node.js ejs


    【解决方案1】:

    你想做的事是不可能的!

    这是发生的顺序:

    1 - 在服务器中,ejs 被渲染为 HTML

    2 - 然后将 HTML 传输到浏览器中

    3 - 浏览器读取并处理 javascript

    JavaScript 执行发生在比ejs 执行晚得多的阶段。

    【讨论】:

      【解决方案2】:

      @fmsf 的回答是正确的。但是,如果您知道服务器上的 targetOS 值,则在渲染 ejs 时,您可以这样做:

      在你的 ejs 文件中这样定义它:

      var TARGET_OS = "<%= TARGET_OS %>";
      

      然后当你通过 ejs 渲染页面时,像这样传递参数给它:

      res.render(url, {TARGET_OS: "Your desired value here"}, function(err, html) {
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 2011-08-29
        • 2022-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多