仅当在文本框中输入文本时显示X按钮
show X button only when text is entered in the textbox
我正在使用此处提供的插件,通过单击X按钮删除文本框中的文本。如何修改代码,使X按钮仅在文本框中输入文本时显示?我尝试在JavaScript代码中设置返回starement的条件:if ($('#search').val().length != 0)
,但它无法工作。这是我尝试过的代码:
$(document).ready(function(){
if ($('#search').val().length != 0){
$('#search').clearable();
$('.divclearable').show();
}
else{
$('.divclearable').hide();
}
});
如有任何帮助,我们将不胜感激。
添加keyup
侦听器-
$(function () {
$("#search").on("keyup", function() {
if ($('#search').val().length != 0){
$('#search').clearable();
$('.divclearable').show();
}
else{
$('.divclearable').hide();
}
});
});
查看CSS,按钮似乎是clearlink
类的一部分。
你只需要做$("a.clearlink").hide()
来隐藏它。
这将处理除简单按键以外的事件:
$('.divclearable > input').change(
function()
{
if($(this).val().length == 0)
$(this).closest('a.clearlink').hide();
else
$(this).closest('a.clearlink').show();
}
);
我不确定当javascript更改元素的文本时是否会触发jquery更改事件。
您可能希望将单击事件附加到清除按钮,以便它除了清除文本之外还隐藏自己。我不确定这是否与您正在使用的库的事件处理程序冲突。。。
$("#search").change(check_input);
$('.divclearable').click(check_input);
check_input = function(){
if ($('#search').val().length != 0){
$('#search').clearable();
$('.divclearable').show();
}
else{
$('.divclearable').hide();
}
};
我将与您讨论逻辑,您应该自己实现:有一个名为"clearlink"的css类,它显示关闭按钮。修改它并将其中一个初始值设置为:display:none,然后在您的Jquery代码中,当您检测到长度更改时,为它提供方法更改display:none-to-block。或者将clearlink复制为clearlink1并更改元素的类名。
只需使用浏览器中的"检查图元"功能。
相关文章:
- 为什么在页面上单击的先前链接的文本显示在 AJAX 请求中
- JavaScript NaN错误,输入文本显示为NaN
- 关于socket.io实时文本显示的问题
- 如何使用javascript使文本显示在文本字段中
- 在它们之间切换时,jQuery 文本显示在活动文本下方
- 使用 ajax 乱码文本显示图像
- 带有文本显示js功能的图像映射 - 某些部分不显示
- 来自 Ajax 请求的文本显示不正确
- 如何使用 JavaScript 使文本显示
- 是否可以将元素内部的文本显示在 ::在 css 之前
- on更改文本框的文本显示在另一个文本框上
- 在文本显示在Scroll上之前在页面上隐藏文本的问题
- 使用带文本显示的Jquery切换文本
- 如何使文本显示速度变慢
- 如何将图片添加到点击计数器文本显示<图像><点击量>
- 文本显示有延迟
- 根据在另一个文本框中输入的文本显示文本框中的文本
- 如何从点击文本显示文件浏览器,并在悬停文本时将鼠标光标更改为指针
- 使文本显示为几行可点击的线条
- 如何使文本显示