如何从 jquery 中的输入获取精确值
How to get exact value from input in jquery
我正在尝试使用 jquery 过滤 bootstrap 数据表。我受够了。但问题是当我 select Male
它也给出结果 female
。 jquery 没有准确地捕捉到名为 Male
.
的单词
这是我的jquery代码和结果
$(document).ready(function() {
var table = $('#example1').DataTable();
$('#gender').on('change', function () {
table.columns(1).search( this.value ).draw();
});
});
这是我selectFemale
时的看法。
Select Female
这是我当时的看法 select Male
Select Male
所以当我 select 男性时,我如何得到结果只有男性。
那么,您可以使用 search 函数的第二个参数来指示您的查询是一个正则表达式。然后您还必须表明您不想使用智能搜索功能,这是第三个参数
const regExSearch = '^' + this.value + '$';
table.columns(1).search(regExSearch, true, false).draw();
这将包括您输入前后的空格,因此您可能不需要这些。
我提供的示例代码实际上只是文档中的代码
两个性别值 male/female 在单词中都有 'male' 所以它在这两种情况下都进行搜索。您可以使用 '\b'+'this.value'+'\b'
正则表达式来准确地 search the word. Check about /b
here。
$('#gender').on('change', function () {
table.columns(1).search( '\b'+'this.value'+'\b' ).draw();
});
希望对您有所帮助。
我正在尝试使用 jquery 过滤 bootstrap 数据表。我受够了。但问题是当我 select Male
它也给出结果 female
。 jquery 没有准确地捕捉到名为 Male
.
这是我的jquery代码和结果
$(document).ready(function() {
var table = $('#example1').DataTable();
$('#gender').on('change', function () {
table.columns(1).search( this.value ).draw();
});
});
这是我selectFemale
时的看法。
Select Female
这是我当时的看法 select Male
Select Male
所以当我 select 男性时,我如何得到结果只有男性。
那么,您可以使用 search 函数的第二个参数来指示您的查询是一个正则表达式。然后您还必须表明您不想使用智能搜索功能,这是第三个参数
const regExSearch = '^' + this.value + '$';
table.columns(1).search(regExSearch, true, false).draw();
这将包括您输入前后的空格,因此您可能不需要这些。
我提供的示例代码实际上只是文档中的代码
两个性别值 male/female 在单词中都有 'male' 所以它在这两种情况下都进行搜索。您可以使用 '\b'+'this.value'+'\b'
正则表达式来准确地 search the word. Check about /b
here。
$('#gender').on('change', function () {
table.columns(1).search( '\b'+'this.value'+'\b' ).draw();
});
希望对您有所帮助。