Javascript:多个过滤器和多个div
我有一个容器中多个div的列表:Javascript:多个过滤器和多个div,javascript,jquery,filter,Javascript,Jquery,Filter,我有一个容器中多个div的列表: <div class='platform'> <div class='pldatawrcurrencies'> <div class='platform-data'>DKK, USD, CZK</div> </div> <div class='pldatawrissuesloanscountry'> <div class='pla
<div class='platform'>
<div class='pldatawrcurrencies'>
<div class='platform-data'>DKK, USD, CZK</div>
</div>
<div class='pldatawrissuesloanscountry'>
<div class='platform-data'>UK, US, France</div>
</div>
</div>
<div class='platform'>
<div class='pldatawrcurrencies'>
<div class='platform-data'>EUR, USD, PLN</div>
</div>
<div class='pldatawrissuesloanscountry'>
<div class='platform-data'>Germany, Denmark, France</div>
</div>
</div>
<div class='platform'>
<div class='pldatawrcurrencies'>
<div class='platform-data'>SEK, GBP, PLN</div>
</div>
<div class='pldatawrissuesloanscountry'>
<div class='platform-data'>Poland, UK, Spain</div>
</div>
</div>
<div id="CLP">
<div>Enter desired currency:
<input type='text' id='currencies' placeholder='Search Text'>
</div>
<div>Enter desired country:
<input type='text' id='countries' placeholder='Search Text'>
</div>
</div>
如果我没弄错的话,你已经很接近了!只需为每个“可搜索”字段添加一个类
这样,您可以进一步添加可搜索或不可搜索的
div
。我希望这有帮助 如果我没弄错的话,你已经很接近了!只需为每个“可搜索”字段添加一个类
这样,您可以进一步添加可搜索或不可搜索的
div
。我希望这有帮助 我会这样做:
$('input')。在('input',函数(){
var currency=$('#currences').val().toLowerCase().replace(/,/g',);//排除逗号
var country=$('#countries').val().toLowerCase().replace(/,/g');
$('.platform').hide().filter(函数(){
返回$('.pldatawrcurrencies',this.text().toLowerCase().indexOf(货币)>-1
&&$('.pldatawrissuesloanscountry',this).text().toLowerCase().indexOf(country)>-1
}).show();
}).触发器(“输入”)代码>
输入所需货币:
输入所需国家/地区:
丹麦克朗、美元、捷克克朗
英国、美国、法国
欧元、美元、兹罗提
德国、丹麦、法国
瑞典克朗,英镑,兹罗提
波兰、英国、西班牙
我会这样做:
$('input')。在('input',函数(){
var currency=$('#currences').val().toLowerCase().replace(/,/g',);//排除逗号
var country=$('#countries').val().toLowerCase().replace(/,/g');
$('.platform').hide().filter(函数(){
返回$('.pldatawrcurrencies',this.text().toLowerCase().indexOf(货币)>-1
&&$('.pldatawrissuesloanscountry',this).text().toLowerCase().indexOf(country)>-1
}).show();
}).触发器(“输入”)代码>
输入所需货币:
输入所需国家/地区:
丹麦克朗、美元、捷克克朗
英国、美国、法国
欧元、美元、兹罗提
德国、丹麦、法国
瑞典克朗,英镑,兹罗提
波兰、英国、西班牙
很抱歉,我忘了在HMTL的最后一部分添加包含搜索字段的内容。假设您想查找pldatawrcurrences=PLN,但仅在pldatawrissuesloanscountry=Poland的位置,因此我在第一个搜索字段中输入“PLN”,在第二个字段中输入“Poland”。结果应该会过滤掉所有不包含这些特定参数的内容。很抱歉,我忘了在HMTL的最后一部分添加包含搜索字段的内容。假设您想查找pldatawrcurrences=PLN,但仅在pldatawrissuesloanscountry=Poland的位置,因此我在第一个搜索字段中输入“PLN”,在第二个字段中输入“Poland”。结果应该过滤掉所有不包含这些特定参数的内容。这正是我想要的。非常感谢。但有一个问题。它在我的网站上不起作用。我尝试创建一个只包含此代码的空HTML文件,但在输入data.Aha时没有进行过滤。JS应置于HMTL下方。现在它可以工作了,谢谢你的百万美元。我已经为此挣扎了好几天,这正是我想要的。非常感谢。但有一个问题。它在我的网站上不起作用。我尝试创建一个只包含此代码的空HTML文件,但在输入data.Aha时没有进行过滤。JS应置于HMTL下方。现在它可以工作了,谢谢你的百万美元。我已经为此挣扎了好几天了。
// Search function
var search = ('#currencies');
$(document).ready(function(){
searchNow(search);
});
function searchNow(searchKey) {
$(searchKey).keyup(function(){
// Search text
var text = $(this).val();
// Hide all content class element
$('.platform').hide();
// Search and show
$('.platform .pldatawrcurrencies:contains("'+text+'")').closest('.platform').show();
});
}
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});
<div class='platform'>
<div class='pldatawrcurrencies search-me'>
<div class='platform-data'>DKK, USD, CZK</div>
</div>
<div class='pldatawrissuesloanscountry search-me'>
<div class='platform-data'>UK, US, France</div>
</div>
</div>
<div class='platform'>
<div class='pldatawrcurrencies search-me'>
<div class='platform-data'>EUR, USD, PLN</div>
</div>
<div class='pldatawrissuesloanscountry search-me'>
<div class='platform-data'>Germany, Denmark, France</div>
</div>
</div>
<div class='platform'>
<div class='pldatawrcurrencies search-me'>
<div class='platform-data'>SEK, GBP, PLN</div>
</div>
<div class='pldatawrissuesloanscountry search-me'>
<div class='platform-data'>Poland, UK, Spain</div>
</div>
</div>
// Search function
var search = ('#currencies');
$(document).ready(function(){
searchNow(search);
});
function searchNow(searchKey) {
$(searchKey).keyup(function(){
// Search text
var text = $(this).val();
// Hide all content class element
$('.platform').hide();
// Search and show
$('.platform .search-me:contains("'+text+'")').closest('.platform').show();
});
}
$.expr[":"].contains = $.expr.createPseudo(function(arg) {
return function( elem ) {
return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
};
});