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