filterJobs: function()
{
var team = $('#selectOne').val();
var specialty = $('#selectTwo').val();
var level = $('#selectThree').val();
//var defSelectTeam=
$('.jobs').hide()
.filter('[data-team="' + team + '"][data-specialization="' + specialty + '"][data-level="' + level + '"]')
.show();
var newNumJobs = $('.jobs:visible').length;
$('table:visible:odd').css({'background-color': ' #F1F1F1'});
$('table:visible:even').css({'background-color': '#FFFFFF'});
if (newNumJobs <= this.pageSize)
{
$("#dvJobs span").text("Showing " + newNumJobs + " of " + newNumJobs + " jobs");
}
else
{
$("#dvJobs span").text("Showing " + this.pageSize + " of " + newNumJobs + " jobs");
}
this.buildPaginator(newNumJobs);
},
嗨任何线索如何,现在修改为选择滤波这种过滤功能它的作品,我需要设置一个默认值,显示对变化的滤波前所有选项?我只需要指出正确的大方向,我对js很吝啬,但是试图改进。在此先感谢, 的HTML是这个//////,它的工作原理是取数据属性关闭表,这部分工作正常,只需要设置一个默认值,我想设置几个数据ATTRS的,但似乎很混乱。或者设置一个检查值的if块,如果它的'select one'显示全部。对不起,漫不经心。设置默认值
<select id="selectOne">
<option value="Select One">Select One </option>
<option value="Engineering">Engineering </option>
<option value="SoftwareDevelopment" >Software Development</option>
<option value="HumanResources" >Human Resources</option>
<option value="MarkettingAndSales">Marketting and Sales</option>
<option value="Administrative">Administrative</option>
<option value="Others">Others</option>
</select>
<label>Specialty:</label>
<select id="selectTwo">
<option class="Select One" >Select One </option>
<option class="MarkettingAndSales" value="Sales">Sales </option>
<option class="HumanResources" value="Recruitment">Recruitment </option>
<option class="Administrative" value="OfficeGeneral">Office General </option>
<option class="Engineering SoftwareDevelopment" value="WebDevelopment">Web Development </option>
<option class="SoftwareDevelopment" value="ApplicationDevelopment">Application Development </option>
<option class="SoftwareDevelopment" value="UIUXDesign">UI/UX Design</option>
<option class="Others" value="ScientificResearch">Scientific Research</option>
<option class="Engineering Others" value="ComputerHardwareNetworking">Computer Hardware Networking</option>
<option class="Others" value="Others">Others</option>
</select>
<label>Level:</label>
<select id="selectThree">
<option>Senior</option>
<option>Intermediate</option>
<option>Junior</option>
</select>
在此先感谢。 更新:我修改了一点,以显示分页,但我想我现在用的是VAL函数出错了的if/else块?
filterJobs: function()
{
var team = $('#selectOne').val();
var specialty = $('#selectTwo').val();
var level = $('#selectThree').val();
var newNumJobs = $('.jobs:visible').length;
if (team === 'SelectOne' && specialty === 'SelectOne')
{
$('.jobs').show();
}
else
{
$('.jobs').hide()
.filter('[data-team="' + team + '"][data-specialization="' + specialty + '"][data-level="' + level + '"]')
.show();
$('table:visible:odd').css({'background-color': ' #F1F1F1'});
$('table:visible:even').css({'background-color': '#FFFFFF'});
}
if (newNumJobs <= this.pageSize)
{
$("#dvJobs span").text("Showing " + newNumJobs + " of " + newNumJobs + " jobs");
}
else
{
$("#dvJobs span").text("Showing " + this.pageSize + " of " + newNumJobs + " jobs");
}
this.buildPaginator(newNumJobs);
}
为了澄清,我添加了tabe被过滤,希望能帮助理解我的问题。
<table data-team="<?php print $name['team']; ?>" data-specialization="<?php print $name['speciality']; ?>" data-level="<?php print $name['level']; ?>" cellpadding="0" cellspacing="0" border="0" width="670px" class="jobs"><tr><td>
<tr><td colspan="4"><strong>Research Assistant</strong></td>
<td></td><td></td><td></td></tr>
<tr>
<td width="100">Location : </td>
<td colspan="3">Madrid</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td> Job Code : </td>
<td width="460">6767676</td>
<td></td>
<td></td>
</tr>
</table>
'数据'属性似乎是一样好方法,因为任何其他的。不清楚默认问题是什么 – charlietfl
默认问题是,在调用过滤器时,所以没有选项显示,我希望在我开始调用过滤器函数之前加载所有内容。 – Ego
只激活选择的'change'处理程序中的过滤器。可疑你需要运行它时,页面加载,除非你具备的条件,其中的页面加载预设选项中选择 – charlietfl