选择并清除除此之外的所有元素

时间:2016-08-31 19:35:23

标签: jquery

我有5个输入attr search

当用户在任何输入中键入内容时,我在数据库中搜索请求的值。 但在搜索之前,我想清除除正在编辑的所有其他搜索字段。

这就是我所拥有的:

$(document).on('input', 'input[search]', function(){

   var searchValue = $(this).val();

   //Now I want to clear all other input[search] fields, except $(this)

});

应该很简单,但无法弄清楚。

2 个答案:

答案 0 :(得分:2)

使用 not() 方法过滤出选择器中的任何元素。

$(document).on('input', 'input[search]', function(){    
   var searchValue = $(this).val();
   // avoid current element where `this` referst to current element
   $('input[search]').not(this).val('');  
});

$(document).on('input', 'input[search]', function() {
  var searchValue = $(this).val();
  // avoid current element where `this` referst to current element
  $('input[search]').not(this).val('');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input search/>
<input search/>
<input search/>
<input search/>
<input search/>
<input search/>
<input search/>

答案 1 :(得分:2)

试试这个:

$(document).ready(function(){

    $("input[type=search]").on("input",function(){

        $("input[type=search]").not(this).val('');

    })

})

最终代码:

&#13;
&#13;
<html>
    <title>This is test</title>
    
    <head>
    </head>
    <body>
        
        Search 1 : <input type="search">
        <br><br>
        Search 2 : <input type="search">
        <br><br>
        Search 3 : <input type="search">
        <br><br>
        Search 4 : <input type="search">
        <br><br>
        Search 5 : <input type="search">
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script>
            
        $(document).ready(function(){

            $("input[type=search]").on("input",function(){

                $("input[type=search]").not(this).val('');

            })

        })
        </script>
    </body>
</html>
&#13;
&#13;
&#13;