Javascript 第二个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

我有两个ajax调用,一个用于从
listplace.php
下拉填充,另一个用于当我单击所选项目时,它必须从
dataprod.php
提取详细信息,但我的问题是,第二个ajax调用甚至不会在更改事件中触发

即使当I
echo“触发”
时,它也不会从更改事件中显示。 我希望这是因为我犯了一个简单的错误。请帮忙

<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请求调用时,请在控制台中检查是否有任何错误。为什么两次包含jquery
jquery-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'}