如何在单击链接时清除输入元素
How to clear an input element when clicking on a link?
我有一个搜索过滤器输入,它有效:
<form id="filter-form" action="">
<p>Search table: <input name="filter" id="filter" value="" maxlength="30" size="30" type="text"></p>
</form>
在我拥有的侧边栏中,我单击一个链接以将表格更改为全部或测试。当我单击它时,它确实会更改表格并且正在清除输入,但是当"测试"表出现时,我上次输入的过滤器(文本)仍然适用。
如何让它清除过滤器并且上次不输入文本?
<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>
如果我答对了问题,您可以使用点击处理程序:
$("#all, #test").on('click', function() {
$("#filter").val('');
});
编辑:这是一个JSFiddle可能会有所帮助。 这里有两个单击处理程序,每个单击<a>
元素一个。
希望这有所帮助。使用jQuery.toggle
稍微简化了您的函数,并使用.val('')
清除了输入字段。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="filter-form" action="">
<p>Search table: <input name="filter" id="filter" value="" maxlength="30" size="30" type="text"></p>
</form>
<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>
function changeClass(x){
$('#t01').toggle(x != 'all');
$('#t02').toggle(x == 'all');
$('#filter').val('');
}
</script>
不过,Alex 正在以最好的方式做到这一点,使用 jQuery 来附加点击处理程序而不是内联。
相关文章:
- 单击jquery清除输入值
- 改变“;onClick"这个jQuery的操作从清除输入文本改为将输入文本添加到下面的列表中
- 如何在表单提交后清除输入字段
- Magento自定义选项-清除输入字段问题
- 点击提交后如何清除输入字段
- 清除输入字段值-STCombobox时出现意外的JS行为
- 使用Jquery清除输入文本字段值
- 如何在不隐藏键盘的情况下清除输入搜索?(手机)
- javascript:如何在另一个输入值更改时清除输入框
- 如何在jquery中清除输入文件字段
- 使用React清除输入字段
- 为什么我无法清除输入
- 使用 jQuery 清除输入值的更好方法
- 清除输入,模糊文本区域和默认值(如果字段为空)
- 如何在 AngularJS 中清除输入时调用函数
- 清除输入字段的建议框
- 如何通过JavaScript清除输入类型=“日期时间”
- 如何在单击链接时清除输入元素
- 使用 JavaScript 清除输入
- 单击图像后清除输入框