Javascript 第二个ajax调用不会触发
我有两个ajax调用,一个用于从Javascript 第二个ajax调用不会触发,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我有两个ajax调用,一个用于从listplace.php下拉填充,另一个用于当我单击所选项目时,它必须从dataprod.php提取详细信息,但我的问题是,第二个ajax调用甚至不会在更改事件中触发 即使当Iecho“触发”时,它也不会从更改事件中显示。 我希望这是因为我犯了一个简单的错误。请帮忙 <select id="name"> <option selected disabled>Please select</option> </select
listplace.php
下拉填充,另一个用于当我单击所选项目时,它必须从dataprod.php
提取详细信息,但我的问题是,第二个ajax调用甚至不会在更改事件中触发
即使当Iecho“触发”
时,它也不会从更改事件中显示。
我希望这是因为我犯了一个简单的错误。请帮忙
<select id="name">
<option selected disabled>Please select</option>
</select>
<?php if (isset($_GET['place']) && $_GET['place'] != '') { ?>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$.ajax({
type: "POST",
data: {place: '<?= $_GET["place"] ?>'},
url: 'listplace.php',
dataType: 'json',
success: function (json) {
if (json.option.length) {
var $el = $("#name");
$el.empty(); // remove old options
for (var i = 0; i < json.option.length; i++) {
$el.append($('<option>',
{
value: json.option[i],
text: json.option[i]
}));
}
}else {
alert('No data found!');
}
}
});
</script>
<script>
$("#name").on('change',function (e) {
var name1 = this.value;
$.ajax ({
data:{name1: name1},
type: 'POST',
url: 'dataprod.php',
success: function (response) {
console.log(response);
$('.products-wrp').html('');
$('.products-wrp').hide();
$('.products-wrp').html(response);
$('.products-wrp').show();
},
});
</script>
<?php } ?>
请选择
$.ajax({
类型:“POST”,
数据:{位置:'},
url:'listplace.php',
数据类型:“json”,
成功:函数(json){
if(json.option.length){
变量$el=$(“#名称”);
$el.empty();//删除旧选项
for(var i=0;i
dataprod.php
<?php
session_start(); //start session
include("config.inc.php"); //include config file
?>
<?php
$name1 = $_POST['name1'];
echo $name1;
echo 'triggered';
$results = $mysqli_conn->query("SELECT product_name, product_desc, product_code,
product_image, product_price FROM products_list where product_name='$name1'");
$products_list = '<ul id ="products_list" class="products-wrp">';
while($row = $results->fetch_assoc()) {
$products_list .= <<<EOT
<li>
<form class="form-item">
<h4>{$row["product_name"]}</h4>
<div>
<img src="images/{$row["product_image"]}" height="62" width="62">
</div>
<div>Price : {$currency} {$row["product_price"]}<div>
</form>
</li>
EOT;
}
$products_list .= '</ul></div>';
echo $products_list;
?>
在以下行中:
$(document.body).on('change',"#name",function (e) {
删除.body,以$(document)结束以下行:
$(document.body).on('change',"#name",function (e) {
删除.body,以$(document)结束。在onChange
事件中出现语法错误。}
结尾处缺少
试试这个:
$("#name").on('change',function (e) {
var name1 = this.value;
$.ajax ({
data:{name1: name1},
type: 'POST',
url: 'dataprod.php',
success: function (response) {
console.log(response);
$('.products-wrp').html('');
$('.products-wrp').hide();
$('.products-wrp').html(response);
$('.products-wrp').show();
},
});
});
如果onChange
事件中出现语法错误,请将jquery库放在head部分<代码>})
结尾处缺少
试试这个:
$("#name").on('change',function (e) {
var name1 = this.value;
$.ajax ({
data:{name1: name1},
type: 'POST',
url: 'dataprod.php',
success: function (response) {
console.log(response);
$('.products-wrp').html('');
$('.products-wrp').hide();
$('.products-wrp').html(response);
$('.products-wrp').show();
},
});
});
还将jquery库放在head部分一次为什么两次包含jquery
jquery-3.2.1.min.js
?并使用$(“#名称”).on('change',function(e){
代替$(document.body)。on('change',“#name',function(e){
为什么人们否决了这一点?有些人很快就做出判断!!@RohanKumar我改变了它,看到并纠正了其他一些重要的改变,但我没有得到结果..它仍然存在blank@LillyMeow当发出AJAX请求调用时,请在控制台中检查是否有任何错误。为什么两次包含jqueryjquery-3.2.1.min.js
?并使用$(“#名称”)。on('change',函数(e){
而不是$(document.body)。on('change',“#name',函数(e){
为什么人们否决了这一点?有些人很快就做出判断!!@RohanKumar我改变了它,看到并纠正了其他一些重要的改变,但我没有得到结果..它仍然存在blank@LillyMeow当发出AJAX请求调用时,在控制台中检查是否有任何错误。$(“#name”)。on('change',function(e){是错误的。如果你想这样使用它,你必须定义:$(“#name”).change(函数(e){…}),但是如果你动态加载'names',这将不起作用。我可以为动态加载做些什么吗?$(“#name”)。在('change',函数(e){是错误的。如果你想这样使用它,你必须定义:$(“#name”).change(函数(e){…})但是如果动态加载'names',这将不起作用。我可以为动态加载做些什么吗?我是否应该将数据:{name1:name1}作为数据:{name1:name1'}作为数据:{name1:name1'}包括数据:{name1:name1'}