我真的需要帮助。我正在为我工作的公司创建一个工作系统,我们在网站上为各种客户创造就业机会。有公司,每个公司都有商店位置和用户,公司下的每个工作都与活动周和商店位置相关联。因此,创建工作意味着需要选择公司,选择要为其创建此工作的公司下的商店(商店),选择该公司的用户,选择一个活动周,输入该工作的其他信息然后单击“创建作业”。
首先,在进入工作页面创建新工作之前,我们将转到公司页面并添加新公司,而不是商店的页面,用户等。现在,我正在创建一个表单向导,以便在一个页面上执行所有操作。
目前,我创建了表单向导系统,允许我们选择或创建内容,但每次我们创建新公司,商店,用户或广告系列时,页面都必须重新加载,表单向导从第一步开始。如果我们使用Ajax创建新东西,它会在不重新加载页面的情况下提交内容。但是,我们希望立即在下拉选择字段中显示新内容,而无需重新加载页面。
以下是我用来提交新公司,商店等的Ajax示例
// Create a new Company
$(function(){
$('#addCompany').submit(function(e){
e.preventDefault();
var form = $(this);
var post_url = form.attr('action');
var post_data = form.serialize();
$.ajax({
type: 'POST',
url: post_url,
data: post_data,
success: function() {
$("#newCompany").modal('hide');
$('#mesg').append('<div class="alert alert-success" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button><strong>Nice!</strong> Company was added successfully!</div>');
}
});
});
});
以下是我用来获取下拉列表的Ajax示例。
// General List for Company and Stores
function Company() {
$('#Company').empty();
$('#Company').append("<option value=''>- Select Company -</option>");
$.ajax({
type:"GET",
url:"Inc/json/companies.php",
contentType:"application/json; charset=utf-8",
dataType:"json",
success: function(data) {
$('#Company').empty();
$('#Company').append("<option value=''>- Select Company -</option>");
$.each(data,function (index, item) {
$('#Company').append('<option value="'+ item.Company_ID +'">'+ item.Company_Name +'</option>');
});
},complete: function() {}
});
}
工作正常,数据正在提交。我只是想知道如何立即将新数据提取到下拉字段。我也使用Ajax和php / json从数据库中获取数据。
答案 0 :(得分:0)
无论如何尝试从数据库中获取下拉元素,它都必须等待将这些元素添加到数据库中。一旦添加它们,你应该能够创建一个php函数来获取下拉菜单的元素,这个php函数应该可以从ajax请求中调用。或者另一种可能性是在将元素添加到数据库之前调用数据库,然后使用php将其添加到数据库返回的元素数组中。只需将元素作为get或post变量发送到php函数或处理将其添加到javascript中数组中的元素