Python 在flask模板的jquery val()属性中将输出显示为未定义

Python 在flask模板的jquery val()属性中将输出显示为未定义,python,jquery,flask,Python,Jquery,Flask,下面的代码将输出显示为未定义。。。但该值显示在警报框中 $(document).on("click", ".open-homeEvents", function () { var eventId = $(this).data('id'); alert(eventId); // It returns value as (1,2,3,...) $("input[name='bname']").val("{{busine

下面的代码将输出显示为未定义。。。但该值显示在警报框中

$(document).on("click", ".open-homeEvents", function () {
  var eventId = $(this).data('id');
  alert(eventId); // It returns value as (1,2,3,...)
  $("input[name='bname']").val("{{business_field_data[" + eventId + "].business_name}}"); // Error eventId Undefined
 });

有人能帮我吗?

试试这个javascript代码

$(document).ready(function() {
  "use strict";

  $(".open-homeEvents").on("click", function(e) {
    e.preventDefault();

    var eventId = $(this).data('id');
    console.log(eventId);
    
    // problem: see below 
    $("input[name='bname']").val("{{ business_field_data[" + eventId + "].business_name}} ");

   ...

  });

})
您在混用东西,无法在
jinja2
expression
{{..}
中计算javascript变量


jinja2
服务器端呈现您的模板,HTML输出被提供给客户端(浏览器),而javascipt(您的代码)在客户端(浏览器)上操作收到的HTML的
DOM

\1在javascript中避免
警报()
和preference
console.log()
#2代码javascript看起来正确#3您不能将JavaCScript和
jink2
表达式混合使用请参见此感谢@cizario。。。但这对我不起作用。。。实际上,我正在从数据id属性获取eventid。。。并使用jquery将其显示在表单输入标记中。我认为问题是由于“警告后变量的作用域不起作用或变量声明语法不正确”,谢谢。。。我使用了上面的代码,但它显示一个arror为jinja2.exceptions.UndefinedError:“列表对象”没有属性“+eventId+”,我已经解释过了!您不能在jinja表达式中注入javascript变量,您需要检查代码的逻辑