所以我的问题是这样的。我有一个表,我根据下拉菜单选择隐藏/显示行。想要的是 2 个菜单一起工作而不是独立工作。如果我在第一个下拉列表中选择一个项目,我希望能够使用第二个下拉列表进一步过滤该项目,依此类推任何其他下拉列表。这是我正在使用的代码,目前可以独立运行。
<script>
$(document).ready(function(){
$('select#age').bind('change',function(){
if($(this).val()=='Show All'){
$('td.age').parent().show();
}else{
$('td.age').parent().hide();
$('td.age:contains("'+$(this).val()+'")').parent().show();
}
$('#counts').html( $('table.data_table tr:visible').length-1 + ' Registered Kids' )
})
$('select#sport').bind('change',function(){
if($(this).val()=='Show All'){
$('td.sport').parent().show();
}else{
$('td.sport').parent().hide();
$('td.sport:contains("'+$(this).val()+'")').parent().show();
}
$('#counts').html( $('table.data_table tr:visible').length-1 + ' Registered Kids' )
})
})
</script>
最佳答案
String.prototype.replaceAll = function(search, replacement) {
var target = this;
return target.replace(new RegExp(search, 'g'), replacement);
};
$(document).ready(function() {
var ddlFilterTableRow = $('select.ddlFilterTableRow'),
headerCount = $('#headerCount');
headerCount.html($('#tableRegisterKids').find('.Row').length + ' Registered Kids');
ddlFilterTableRow.on('change', function() {
ddlFilterTableRow.attr('disabled', 'disabled');
var records = $('#tableRegisterKids').find('.Row');
records.hide();
var critriaAttributes = [];
ddlFilterTableRow.each(function() {
var $this = $(this),
$selectedLength = $this.find(':selected').length,
$critriaAttribute = '';
if ($selectedLength > 0 && $this.val() != '0') {
if ($selectedLength == 1) {
$critriaAttribute += '[data-' + $this.data('attribute') + '*="' + $this.val() + '"]';
} else {
var $startDataAttribute = '[data-' + $this.data('attribute') + '*="',
$endDataAttribute = '"]',
$selectedValues = $this.val().toString();
$critriaAttribute += $startDataAttribute + $selectedValues.replaceAll(',', ($endDataAttribute + ',' + $startDataAttribute)) + $endDataAttribute;
}
critriaAttributes.push($critriaAttribute);
}
});
var $showRecords = records;
if (critriaAttributes.length > 0) {
$.each(critriaAttributes, function(i, filterValue) {
$showRecords = $showRecords.filter(filterValue);
});
}
$showRecords.show();
headerCount.html($showRecords.length + ' Registered Kids');
ddlFilterTableRow.removeAttr('disabled');
});
});
//=========================================== ===================//
<select id="ddlAge" class="ddlFilterTableRow" data-attribute="age">
<option value="0">Select All</option>
<option value="10">10</option>
<option value="8">8</option>
<option value="6">6</option>
</select>
<select id="ddlSport" class="ddlFilterTableRow" data-attribute="sports">
<option value="0">Select All</option>
<option value="Foot Ball">Foot Ball</option>
<option value="Chess">Chess</option>
<option value="Cricket">Cricket</option>
</select>
<h1 id="headerCount"></h1>
<table id="tableRegisterKids">
<tr>
<th>Fullname</th>
<th>Age</th>
<th>Sport</th>
</tr>
<tr class="Row" data-age="10" data-sports="Foot Ball">
<td>Thulasiram.S</td>
<td>10</td>
<td>Foot Ball</td>
</tr>
<tr class="Row" data-age="8" data-sports="Cricket">
<td>ST Ram</td>
<td>8</td>
<td>Cricket</td>
</tr>
<tr class="Row" data-age="6" data-sports="Chess">
<td>Ram Kumar.S</td>
<td>6</td>
<td>Chess</td>
</tr>
<tr class="Row" data-age="8" data-sports="Chess">
<td>Dinesh Kumar.S</td>
<td>8</td>
<td>Chess</td>
</tr>
<tr class="Row" data-age="6" data-sports="Foot Ball">
<td>Raja Ram.S</td>
<td>6</td>
<td>Foot Ball</td>
</tr>
<tr class="Row" data-age="10" data-sports="Chess">
<td>Priya</td>
<td>10</td>
<td>Chess</td>
</tr>
</table>
请查找DEMO
关于javascript - 根据多个下拉选择隐藏/显示行(过滤),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14209680/
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我有一个具有一些属性的模型:attr1、attr2和attr3。我需要在不执行回调和验证的情况下更新此属性。我找到了update_column方法,但我想同时更新三个属性。我需要这样的东西:update_columns({attr1:val1,attr2:val2,attr3:val3})代替update_column(attr1,val1)update_column(attr2,val2)update_column(attr3,val3) 最佳答案 您可以使用update_columns(attr1:val1,attr2:val2
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我试图在索引页中创建一个超链接,但它没有显示,也没有给出任何错误。这是我的index.html.erb代码。ListingarticlesTitleTextssss我检查了我的路线,我认为它们也没有问题。PrefixVerbURIPatternController#Actionwelcome_indexGET/welcome/index(.:format)welcome#indexarticlesGET/articles(.:format)articles#indexPOST/articles(.:format)articles#createnew_articleGET/article
我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden