テキストボックス内の長さが1未満の場合に、クリアアイコンをテキストボックスから非表示にする方法。
以下のコードを試しましたが、役に立ちませんでした。入力フィールドの長さが1未満の場合、内側のアイコンは非表示になりません。
デモの例は ここをクリックしてください
私はそれを隠すために以下のコードを試しました。
var myLength = $("#keywords").val().length;
if(myLength==0)
{
$("span").hide();// i tried to hide it but its not hiding
}
私の完全なコードはここにあります
<!DOCTYPE html>
<html lang="en">
<head>
<title>SO question 2803532</title>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
$(document).ready(function() {
var myLength = $("#keywords").val().length;
if(myLength==0)
{
$("span").hide();// i tried to hide it but its not hiding
}
//show the innser clearable icon if users type any alphabets
$("input").keyup(function()
{
var textbox = $("#keywords").val().length;
if(textbox>=1)
$("span").hide();// i tried to hide it but its not hiding
});
$('input.deletable').wrap('<span class="deleteicon" />').after($('<span/>').click(function() {
$(this).prev('input').val('').focus();
}));
});
</script>
<style>
span.deleteicon {
position: relative;
}
span.deleteicon span {
position: absolute;
display: block;
top: 5px;
right: 0px;
width: 16px;
height: 16px;
background: url('http://cdn.sstatic.net/stackoverflow/img/sprites.png?v=4') 0 -690px;
cursor: pointer;
}
span.deleteicon input {
padding-right: 16px;
}
</style>
</head>
<body>
<input type="text" class="deletable" id="keywords">
</body>
</html>