我正在尝试验证输入字段,但输入字段文本在点击时消失。请帮帮我解决我的错误。谢谢
<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();
}
});
答案 0 :(得分:2)
因为您在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()));
});
答案 1 :(得分:0)
如果你在控制台上看到$(&#39; .a&#39;)的输出,你会发现它是一个数组。所以你需要读取第一个元素并获得第一个值,如下所示
var test = $('.a')[0];
$(test).val() // this will be the value of textbox