Php 基于所选项目填充表单
我有一个页面,其中包含一个从mysql成功填充的选择列表和一个文本框。文本框必须根据列表中选择的项目填充mysql中的值。但是对php的ajax调用不起作用,我也不知道问题出在哪里。我只是在学习ajax和php,所以我是个新手。。请帮忙。我被这个问题困扰了很长时间 $document.readyfunction{ $'.selectpicker'.onchange,函数{ var selected_data=$this.findoption:selected.val; 警报所选数据; $.ajax{ 类型:POST,, 数据:{所选数据:所选数据}, url:getoldcharity.php, 数据类型:json, 成功:功能{ $'charity_new'.valdata.charity_new; } }; }; }; 选择一个筹款人 我想应该是Php 基于所选项目填充表单,php,ajax,Php,Ajax,我有一个页面,其中包含一个从mysql成功填充的选择列表和一个文本框。文本框必须根据列表中选择的项目填充mysql中的值。但是对php的ajax调用不起作用,我也不知道问题出在哪里。我只是在学习ajax和php,所以我是个新手。。请帮忙。我被这个问题困扰了很长时间 $document.readyfunction{ $'.selectpicker'.onchange,函数{ var selected_data=$this.findoption:selected.val; 警报所选数据; $.aj
$('#charity_new').val(res.charity_new);
而不是
$('#charity_new').val(data.charity_new);
我从快速浏览中发现了一些问题,所以在下面将它们分开 PHP 在AJAX请求中,您使用的是数据:{selected_data:selected_data},这意味着PHP代码需要一个名为selected_data的发布键,但您正在查找.selectpicker。你似乎把几件事搞混了,所以不要:
$_POST['.selectpicker']
$('#charity_new').val(data.charity_new);
应该是:
$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
JavaScript
正如他在回答中指出的,你还需要改变你的成功函数。传递到此函数的参数是res not data,因此不是:
$_POST['.selectpicker']
$('#charity_new').val(data.charity_new);
应该是:
$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
MySQL
它还显示为您的查询本身无效-您似乎在列选择中缺少逗号
select f_charity charity_new from fundraiser limit 1
应该是:
$_POST['selected_data']
$('#charity_new').val(res.charity_new);
select f_charity, charity_new from fundraiser limit 1
或者,鉴于你在结果中没有使用f_慈善专栏:
select charity_new from fundraiser limit 1
您也没有使用正在发布的值,这意味着在下拉列表中选择的任何选项都不会对查询本身产生影响-它将始终返回数据库中的第一条记录
另外
另一件需要注意的事情是,您正在更改函数上使用类选择器。这意味着,如果HTML中有多个具有相同类名的下拉列表,它们都将调用相同的AJAX函数并更新文本框。我不知道这是否是你的目标,但从你的代码张贴,你只有一个下拉列表的形式。如果您只希望该下拉列表调用AJAX函数,则应使用ID选择器:
$('#fundraiser').on("change", function() {
// ...
}
打开开发人员控制台并检查那里的错误。$\u POST['.selectpicker']无效。改为使用$u POST['fundraiser']。这是您为表单对象设置的名称非常感谢非常感谢。您的指示非常有效。@TitusAntony没问题,如果答案有帮助,并且您的问题得到解决,您可以单击勾号图标将答案标记为已接受: