更改事件不是由动态选择触发的

时间:2017-06-02 07:32:09

标签: javascript php jquery ajax

让我尽量简单。我有一个动态加载下拉列表的ajax调用。我有另一个ajax调用,用于在单击任何项​​目时显示详细信息。

问题:我无法触发第二次ajax调用的事件。

如果第二个ajax调用正在运行,则当更改事件发生时,它必须至少显示triggered。但改变事件甚至没有触发。

代码:

首先是ajax调用

<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>

继续关闭php的第二次ajax调用..

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></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 } ?>

从dataprod.php输出

enter image description here

dataprod.php供参考

<?php
session_start(); //start session
include("config.inc.php"); //include config file
?>
<?php

$name1 = $_POST['name1'];
echo $name1;

$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>
</form>
</li>
EOT;
}
$products_list .= '</ul></div>';
echo $products_list;
echo 'triggered';
?> 

0 个答案:

没有答案