Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击链接时如何清除输入元素?_Javascript_Jquery - Fatal编程技术网

Javascript 单击链接时如何清除输入元素?

Javascript 单击链接时如何清除输入元素?,javascript,jquery,Javascript,Jquery,我有一个搜索过滤器输入,它可以工作: <form id="filter-form" action=""> <p>Search table: <input name="filter" id="filter" value="" maxlength="30" size="30" type="text"></p> </form> 搜索表: 在我的侧边栏中,我点击一个链接,将表格更改为all或test。 当我点击它时,它确实改

我有一个搜索过滤器输入,它可以工作:

<form id="filter-form" action="">
      <p>Search table: <input name="filter"  id="filter" value="" maxlength="30" size="30" type="text"></p>
</form>

搜索表:

在我的侧边栏中,我点击一个链接,将表格更改为all或test。 当我点击它时,它确实改变了表格,它正在清除输入,但是 当“测试”表出现时,上次输入的过滤器(文本)仍然适用

我如何让它清除过滤器,而不是上次输入文本

<ul>
<li><a id="all" href="#1"   onclick="changeClass('all')">All</a></li>
<li><a id="test" href="#2"  onclick="changeClass('test');" >2</a></li>

</ul>

<script type="text/javascript">
    function changeClass(x){
        if(x=="all"){           
            $("#t01").hide();
            $("#t02").show();

document.getElementById("filter").value="";         
        }
        else if(x == "corporate"){          
            $("#t01").show();
            $("#t02").hide();
            document.getElementById("filter").value="";

    }
</script>
函数类(x){ 如果(x==“全部”){ $(“#t01”).hide(); $(“#t02”).show(); document.getElementById(“过滤器”).value=“”; } 如果(x==“公司”){ $(“#t01”).show(); $(“#t02”).hide(); document.getElementById(“过滤器”).value=“”; }
如果我答对了问题,您可以使用单击处理程序:

$("#all, #test").on('click', function() {
  $("#filter").val('');
});

编辑:这可能会有所帮助。这里有两个单击处理程序,每个单击的
元素一个。

如果我答对了问题,您可以使用一个单击处理程序:

$("#all, #test").on('click', function() {
  $("#filter").val('');
});

编辑:这可能会有所帮助。这里有两个单击处理程序,每个单击的
元素一个。

希望这会有所帮助。使用
.val(“”)
稍微简化了您的函数,并清除了输入字段


搜索表:

函数类(x){ $('#t01')。切换(x!=“全部”); $('#t02')。切换(x=='all'); $(“#过滤器”).val(“”); }
希望这有帮助。使用
.val(“”)
稍微简化了您的函数,并清除了输入字段


搜索表:

函数类(x){ $('#t01')。切换(x!=“全部”); $('#t02')。切换(x=='all'); $(“#过滤器”).val(“”); }
您拥有的代码应该清除它…控制台中是否有错误消息?您拥有的代码应该清除它…控制台中是否有错误消息?有了此信息,我得到错误,未捕获语法错误:意外结束input@jfishbow我添加了一个JSFIDLE-如果这对您有帮助,请告诉我。您的答案缺少一个右括号,但是您的fiddle看起来不错。因为我收到错误'TypeError:$(…).on不是一个函数,它可能意味着它与脚本有关,因为我有,对吗?我必须看到您得到错误的实际行。不过,您的jQuery版本有点过时。有了这个错误,我得到了未捕获的SyntaxError:意外的结束input@jfishbow我添加了一个JSFIDLE-如果这对您有帮助,请告诉我。您的answer缺少一个右括号,但是你的小提琴看起来不错。因为我得到了错误'TypeError:$(…)。on不是一个函数',它可能意味着它与脚本有关,因为我得到了,对吗?我必须看到你得到错误的实际行。不过,你的jQuery版本有点过时。