从php文件更改函数ajax调用

时间:2017-06-01 04:04:54

标签: javascript php jquery ajax

以下代码由下拉列表"(id = name"填充来自" listplace.php"通过ajax调用正常工作。

现在我正在尝试使用change function进行另一次ajax调用。当我选择已在下拉框中填充的特定项目时,它必须将name1查询中的所选项'where'传递给dataprod.php,并且必须通过清除可用的现有产品列表来显示产品。

我怀疑来自$name1的{​​{1}}回复。请帮忙!!

dataprod.php

ajax 2

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

dataprod.php

$(document).ready(function(){
 $("#name").change(function(){
 var name1 = this.value;
 $.ajax ({
     url: "dataprod.php",
     data: {place: '<?= $_GET['name1'] ?>'},
     success: function (response) {
        $('.products-wrp').html('')
        $('.products-wrp').html(response);     
     }
      }else {
        $('.products-wrp').html('');
  }
}

1 个答案:

答案 0 :(得分:0)

由于您在通过ajax操作加载的元素上调用ajax事件,因此更改事件不会绑定,也不会发生任何事情。

对于ajax 2动作,请使用以下代码。

$(document.body).on('change',"#name",function (e) {
   //doStuff
  var name1 = this.value;
 $.ajax ({
     url: "dataprod.php",
     data: {place: '<?= $_GET['name1'] ?>'},
     success: function (response) {
        $('.products-wrp').html('')
        $('.products-wrp').html(response);     
     }
      }else {
        $('.products-wrp').html('');
  }
}