我有: support_question.php
$('#topic').on('change', function() {
var sel = $(this).find('option:selected').val();
$.ajax({
url: "support_process.php",
type: "POST",
data: {info : sel},
success: function(data) {
alert(data);
$( "#divtopic" ).data("topic", sel);
}
});
});
进一步向下......
在support_process.php中,我有:
<?php
echo $_POST['info'];
?>
我想知道为什么我的“divtopic”div没有填充$ _POST信息。
答案 0 :(得分:5)
.data()
方法未设置供用户查看的文本。使用:
$( "#divtopic" ).text(data);
或者如果您的回复包含加价:
$( "#divtopic" ).html(data);
顺便说一下,你可以得到下拉列表的当前值(正如Eddie Monge Jr非常正确地指出的那样),this.value
。 (或者更常见的是,如果您还没有使用$("someSelector").val()
元素的引用 - 无论哪种方式都不需要使用.find('option:selected')
。)
进一步阅读:
答案 1 :(得分:1)
如果这真的是整个php文件的响应,那么这应该可行
$('#topic').on('change', function() {
$.post(
'support_process.php',
{info : this.value},
function(data) {
console.log(data);
$("#divtopic").html(data);
},
'html'
);
});
正如@nnnnnn所说,你需要添加一些实际向用户显示信息的内容,如.html()
。
另外,请勿使用警报进行调试。使用控制台代替,因为警报可以中断事情并导致令人头疼,而控制台更可靠并且是为调试而构建的。