单击按钮时输入文本消失
Input text is disappear when it button is clicked
我正在尝试验证输入字段,但输入字段文本在单击时消失了。请帮我弄清楚我的错误是什么。谢谢
<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()));
});
如果您在控制台上看到 $('.a') 的输出,您会发现它是一个数组。所以你需要读取第一个元素并获得第一个值如下
var test = $('.a')[0];
$(test).val() // this will be the value of textbox
我正在尝试验证输入字段,但输入字段文本在单击时消失了。请帮我弄清楚我的错误是什么。谢谢
<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()));
});
如果您在控制台上看到 $('.a') 的输出,您会发现它是一个数组。所以你需要读取第一个元素并获得第一个值如下
var test = $('.a')[0];
$(test).val() // this will be the value of textbox