我写了一个根据给定筛选条件进行搜索的脚本。一切都很好,除了男性/女性的搜索,因为女性这个词里面含有男字。 选择男性会同时返回女性的结果。
我尝试在JS中在性别选择前后添加'\b'和'\s',用单斜杠和双斜杠都试过了。 以下是代码:
<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>