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はこれです//////,それはテーブルからデータ属性を取り除くことによって機能します.その部分は正常に機能します.デフォルト値を設定する必要があるだけです.いくつかのデータ属性を設定することを考えていました.しかし、それは面倒です。または、値をチェックするifブロックを設定して、その「1つを選択」がすべてを表示する場合。とりとめもなくすみません。
<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>
前もって感謝します。更新: ページネーションを表示するために少し変更しましたが、if/else ブロックで間違った val 関数を使用していると思いますか?
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);
}
明確にするために、フィルタリングされているタブを追加しました。これが私の質問を理解するのに役立つことを願っています。
<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>