如何从 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();
    });

希望对您有所帮助。