我正在尝试验证输入字段,但输入字段文本在单击时消失。请帮我看看我的错误是什么。谢谢
<input type="text" class="a" />
<button id="test">Continue</button>
<div class="b">error msg </div>
$('#test').on('click', function () {
if ($('.a').val('')) {
$('.b').show();
} else {
$('.b').hide();
}
});
最佳答案
因为您在 if
语句中将值设置为空,而不是获取它。
$('.a').val('')
会将 .a
的值设置为空字符串。要获取该值,请使用 $('.a').val()
。
将 if ($('.a').val('')) {
更改为 if ($('.a').val() == '') {
$('#test').on('click', function() {
if ($('.a').val() == '') {
$('.b').show();
} else {
$('.b').hide();
}
});
.a {
border: black solid 1px;
}
.b {
display: none;
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<input type="text" class="a" />
<button id="test">Continue</button>
<div class="b">error msg</div>
较短版本:
$('#test').on('click', function () {
$('.b').toggle(!(!!$('.a').val()));
});
关于jquery - 单击按钮时输入文本消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31823075/