Javascript 如何筛选从jQuery返回的数据?
jQuery代码: HTML: 在带有结果参数的函数下,但它不工作 那么如何过滤返回的HTML代码呢?您可能需要查找而不是筛选,因为您需要获得子代,而筛选将匹配的元素集减少到与选择器匹配或通过函数测试的元素集 如果se是在DOM中添加的,那么您可以直接使用id选择器Javascript 如何筛选从jQuery返回的数据?,javascript,jquery,html,scope,jquery-traversing,Javascript,Jquery,Html,Scope,Jquery Traversing,jQuery代码: HTML: 在带有结果参数的函数下,但它不工作 那么如何过滤返回的HTML代码呢?您可能需要查找而不是筛选,因为您需要获得子代,而筛选将匹配的元素集减少到与选择器匹配或通过函数测试的元素集 如果se是在DOM中添加的,那么您可以直接使用id选择器 se = $('#se2'); 我做了另一个演示,因为我仍在等待您的演示,该演示无法进一步详细说明如何将包含html的字符串传递给jQuery函数$以使用find搜索其中的元素 注意:您可以使用find wont work通过使用
se = $('#se2');
我做了另一个演示,因为我仍在等待您的演示,该演示无法进一步详细说明如何将包含html的字符串传递给jQuery函数$以使用find搜索其中的元素
注意:您可以使用find wont work通过使用过滤器进一步检查上述示例中的代码是否正常工作
您正在将结果成功添加到s-results:
然后尝试从添加的结果中选择se2,如下图所示,但未成功:
$(result).filter('#se2');
它不起作用,因为您没有从第二步添加的dom中获得它
实际上,它正在使用相同的结果变量创建一个新的独立dom
解决方案
要从添加的结果内容中正确选择se2,请尝试以下操作:
$('#s-results').filter('#se2');
或者,正如@zerkms所建议的,您可以直接通过以下方式进行选择:
$('#se2');
这些可能性会起作用,因为现在它引用的是附加到dom的内容,它将搜索到您在第一步中添加的相同元素。您可以尝试使用ajax来实现这一点,如下所示:
$(document).ready(function () {
$('#s-results').load('get_report1.php').show();
$('#search-btn').click(function () {
$.ajax({
type: "POST",
url: "get_report1.php",
data: {
name: $("#fn").val()
},
beforeSend: function () {
//do stuff like show loading image until you get response
},
success: function (result) {
$('#s-results').html(result).show();
},
error: function (e) {
alert("Error in ajax call " + e);
}
});
});
});
注意:每次单击search btn时,它将调用get_report1.php文件,并根据传递的文本框值检索数据库。我假设在ge_report1.php文件中,您使用的是tex box值,如:$\u POST['name'],并且您使用MySQL搜索查询获取数据。您可以使用JQuery find而不是filter
$(result).find('#se2');
然后像这样添加到变量中
var your_element = $('#se2');
为什么不仅仅是$'se'?是的,它可以被使用。Thanx fr ur建议,我尝试了查找而不是筛选bt仍然不能按我想要的方式工作…我有一个问题。要在返回的html中查找任何文本,是否需要像onclick event或onkeyup这样触发事件…?请检查这里的演示或制作一个小提琴?从jquery返回的数据是表格式的…我只想这样做,以便我可以再次筛选或查找该数据表中的任何文本…从jquery和php返回。。。。
$(result).filter('#se2');
$('#s-results').filter('#se2');
$('#se2');
$(document).ready(function () {
$('#s-results').load('get_report1.php').show();
$('#search-btn').click(function () {
$.ajax({
type: "POST",
url: "get_report1.php",
data: {
name: $("#fn").val()
},
beforeSend: function () {
//do stuff like show loading image until you get response
},
success: function (result) {
$('#s-results').html(result).show();
},
error: function (e) {
alert("Error in ajax call " + e);
}
});
});
});
$(result).find('#se2');
var your_element = $('#se2');