以下代码由下拉列表"(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('');
}
}
答案 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('');
}
}