Javascript 实时搜索ajax多输入
我有多个输入,但如果我运行它,它不会搜索。我必须做些什么来解决我的问题Javascript 实时搜索ajax多输入,javascript,php,html,Javascript,Php,Html,我有多个输入,但如果我运行它,它不会搜索。我必须做些什么来解决我的问题 $(document).ready(function() load_data(); function load_data() { $('#search_text').keyup(function(){ var search = $(this).val(); var second=str3; $.ajax({ url:"se
$(document).ready(function()
load_data();
function load_data()
{
$('#search_text').keyup(function(){
var search = $(this).val();
var second=str3;
$.ajax({
url:"search.php",
method:"post",
data:{search:search, second:second},
success:function(data)
{
$('#result').html(data);
}
});
}
根据我的评论,确保每个输入具有相同的类名但不同的ID属性值。然后使用类名调用
.keyup()
<input id='search1' class='search_input' />
<input id='search2' class='search_input' />
<input id='search3' class='search_input' />
根据我的评论,确保每个输入具有相同的类名但不同的ID属性值。然后使用类名调用
.keyup()
<input id='search1' class='search_input' />
<input id='search2' class='search_input' />
<input id='search3' class='search_input' />
正如@Rotimi所建议的,您必须使用
class
而不是id
数据:{search:search,second:second}
如果要计算具有多个输入值的对象,可以使用以下代码段
$(文档).ready(函数(){
加载_数据();
})
函数加载_数据(){
$('.search_text').keyup(函数(){
变量数据=$('.search_text').map((索引,元素)=>({
名称:$(元素).attr(“名称”),
值:$(元素).val()
})).get().reduce(函数)(acc{
名称
价值
}) {
acc[名称]=值;
返回acc;
}, {})
console.log(数据)
})
}
正如@Rotimi建议的那样,您必须使用
类
而不是id
数据:{search:search,second:second}
如果要计算具有多个输入值的对象,可以使用以下代码段
$(文档).ready(函数(){
加载_数据();
})
函数加载_数据(){
$('.search_text').keyup(函数(){
变量数据=$('.search_text').map((索引,元素)=>({
名称:$(元素).attr(“名称”),
值:$(元素).val()
})).get().reduce(函数)(acc{
名称
价值
}) {
acc[名称]=值;
返回acc;
}, {})
console.log(数据)
})
}
使用类而不是ID来调用.keyup()
。只需确保每个输入具有不同的ID,但共享相同的类名,就像@Rotimi所说的,如果有多个输入具有相同的ID,则页面上的ID必须是唯一的,查询选择器($(“#搜索_测试”)将只找到ID为的第一个元素。使用CSS类获取所有元素,最佳做法之一是在CSS类前面加上“js-”前缀,以区别样式的CSS类和作为js选择器的CSS类。使用类而不是ID调用.keyup()
。只需确保每个输入具有不同的ID,但共享相同的类名,就像@Rotimi所说的,如果您有多个具有相同ID的输入,则页面上的ID必须是唯一的,查询选择器($(“#搜索_测试”)将只找到ID为的第一个元素。使用CSS类获取所有元素,最佳做法之一是在CSS类前面加上“js-”前缀,以区别样式的CSS类和作为js选择器的CSS类。