Я создал скрипт для поиска по заданным фильтрам. Все работает нормально, кроме мужской / женский поиск, потому что слово женский содержит слово мужской . Выбор мужчины также дает мне результаты для женщин.
Я пытался добавить '\ b' и '\ s' до и после выбора пола в JS, как с одинарной, так и с двойной косой чертой. Вот код ниже:
<div id="filters">
<h2>Filter Tables By</h2>
Topic:
<select id="topic_group" onchange="createSearchString();">
<option></option>
<option>Cancer</option>
<option>Smoking</option>
<option>Vaccinations</option>
<option>Health Screenings</option>
<option>Usual Place of Health Care</option>
</select>
Population of interest (Total, Male, Female):
<select id="popinterest_group" onchange="createSearchString();">
<option></option>
<option>Total</option>
<option>Male</option>
<option>Female</option>
</select>
</div>
<script src="/TemplatePackage/3.0/js/libs/jquery-datatables/jquery.dataTables.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#example').dataTable({
sDom:'<"nhis_search"f>t<"nhis_length"l> <"nhis_pagination"ip>',
aaSorting: [],
oLanguage: { sSearch: 'Additional search terms:' },
});
});
var searchString = new String();
function createSearchString() {
searchString = $('#topic_group').val() + ' ' + $('#popinterest_group').val() + ' ' + $('#outcomes_group').val();
$('#example_filter').find('input').val(searchString);
$('#example_filter').find('input').trigger('keyup');
}
</script>