我有一个输入的简单表单。该页面位于: Actual Page
我希望能够从字段中获取输入,捕获它,运行ajax以获取数据,触发div显示在下面,并显示数据而无需任何页面刷新或重置。如果我定义var值,则此代码有效:
var query = '12';
$("#buttonToClick").click(function () {
$("#divToShow").show();
$.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
$("#divToShow").html(data);
});
});
我在该字段上使用自动完成功能,但即使已禁用,以下操作也无效:
var query = $("#fieldWithData").val();
$("#buttonToClick").click(function () {
$("#divToShow").show();
$.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
$("#divToShow").html(data);
});
});
我假设是因为我不能在没有实际提交表单的情况下捕获数据。所以我将“按钮”更改为“提交”,没有表单操作(没有页面重新加载)。但是#divToShow由于页面重新加载而无法打开。看一下我页面上的“快速查找”框。如何从用户获取输入以触发div以显示由用户输入生成的ajax / part_detail_by_partno.php返回的数据?我花了好几个小时试图解决这个问题。我是jQuery和AJAX的新手,我感谢你的帮助!
答案 0 :(得分:3)
您在点击操作之外捕获“查询”的值。将其移到函数内部。
像这样:
$("#buttonToClick").click(function () {
var query = $("#fieldWithData").val();
$("#divToShow").show();
$.post('ajax/part_detail_by_partno.php', { part: query }, function(data) {
$("#divToShow").html(data);
});
});