我想你快到了。我不了解python或flask,但我可以给您主要思想。
选择管理器后,您将获得管理器名称,并且必须在ajax调用中发送该名称,因此可以在“路由”代码中获取它,并使用它来过滤数组。您可以使用
data
ajax调用的参数发送该值。$(document).ready(function(){$("select#next").change(function() { var managerName = $(this).find('option:selected').text(); $.ajax({ type: 'GET', url: "/getEmployees", data: { manager: managerName } contentType: 'application/json', dataType: 'json' });});});
在ajax调用中,创建一个成功回调函数,当您收到成功响应时将调用该函数。像这样
$(document).ready(function(){$("select#next").change(function() { var managerName = $(this).find('option:selected').text(); $.ajax({ type: 'GET', url: "/getEmployees",, data: { manager: managerName } contentType: 'application/json', dataType: 'json', success: function(response) { } });});});
您还可以添加支票以验证您是否选择了经理或未选中。如果您取消选择经理,则可以清空所选的员工,将其禁用,显示所有员工或您想要的任何员工。
$(document).ready(function(){$("select#next").change(function() { if ($(this).val() != 'default') { var managerName = $(this).find('option:selected').text(); $.ajax({ type: 'GET', url: "/getEmployees",, data: { manager: managerName } contentType: 'application/json', dataType: 'json', success: function(response) { } }); } else { // No manager selected. // Do what you wnat when there's no manager selected. // For example, if you'd want to empty and disable the employees select... $('select#sel_user').html('').prop('disabled',true); }});});
现在由于我对python / flask的了解不足,因此在帮助您方面遇到问题:
在您的路由代码中,您必须读取
manager
GET ajax调用发送的参数。我不知道您如何在python / flask中做到这一点,但这必须很容易。在PHP将是公正的$_GET['manager']
。通过快速搜索,看起来可能像request.GET['username']
,但是您会比我更好地知道它。您必须获取该参数并将该值放在最后一个返回行中,例如…return session.query(Bookmarks).filter_by(Manager=request.GET['username'])
我不清楚此回复的格式,因此我不知道如何提取信息以创建员工选择。查看您的ajax调用,您说响应为JSON格式,但是我需要查看该响应的示例以向您显示确切的代码。这个想法是,您必须获取该信息并在ajax调用的成功函数中创建选项,然后将该选项放入员工选择中。就像是…
// Imagine that your response is an array of objects similar to this // [{"name": "Tommy", "other": "value10"},{"name": "Jim", "other": "value32"},...] success: function(response) { var options = []; for (var i=0, l=response.length; i<l; i++) options.push('<options value="'+response[i].other+'">'+response[i].name+'<options>'); $('select#sel_user').html(options.join('')); }我认为所有这些都可以使您了解如何进行操作,使其适应您的特定需求。希望对您有所帮助。



