App-Egine使用JS-Ajax和jinja实现动态下拉

2024-04-26 09:28:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在研究谷歌应用引擎。我有一个带有下拉列表的HTML文件,我也在那里使用Jinja。 例如:

 <form action="/quest4" method="post" enctype="multipart/form-data">
            <select name="competition_name" id="competition_name" >
               <option value = "">Toutes les Compétition</option>
               {% for competition in CompetitionInData %}
               <option value="{{ competition.name }}">{{ competition.name }}</option>
               {% endfor %}
            </select>
         </form>

我使用python在服务器端工作。我想有两个或更多的“级联下拉列表”,我的意思是当用户在第一个下拉列表中选择某个内容时,它在数据存储中快速搜索,然后在不重新加载页面的情况下填充第二个下拉列表。在

我成功地开始了:当用户在第一个下拉列表中选择了某个内容时,它在服务器端运行了一个python函数,我从数据存储中得到了我想要的数据(三个单词的列表),现在我希望这三个单词出现在第二个下拉列表中。。。在

我该怎么做?在

为了让用户在下拉列表中选择并启动一个python函数,我使用了以下代码:

^{pr2}$

当我在下拉列表中选择内容时,id为“textHint”的div将填充python的答案(作为字符串)。问题是这是一个字符串,我无法获取它或将它与一些jinja集成一起使用(我想做这样的事情:{%for element in response%}),并用python函数填充响应)

我不知道对我的问题的解释是否清楚。有人能帮我吗?谢谢您。在


Tags: 数据函数用户nameinformid内容
1条回答
网友
1楼 · 发布于 2024-04-26 09:28:47

Jinja用于服务器端模板。Javascript可用于处理从AJAX请求返回的数据(通常是JSON),并将其动态添加到页面中。在

如果您确实需要使用Jinja,您可以更改AJAX请求调用的python处理程序来使用Jinja模板,并返回html片段而不是数据字符串。您仍然需要javascript将代码片段放入页面中。在

相关问题 更多 >