Javascript 带有jQuery和textarea的动态if/else语句
因此,我尝试设置一个Javascript 带有jQuery和textarea的动态if/else语句,javascript,jquery,html,css,if-statement,Javascript,Jquery,Html,Css,If Statement,因此,我尝试设置一个标记的样式,以便在键入多个字符时突出显示。(用于联系方式)。当有人填写表单时,字段将全部高亮显示为绿色,以告知其有效性。一般来说,我对JS和jQuery非常陌生,但我非常确定这是可行的。我可以单独使用$('#message').addClass('valid'),它将应用该类,但是当我添加if/else语句时,没有任何效果。这是剧本 \\ Begin Highlight Code var $messageval = $('#message').val() if ($m
标记的样式,以便在键入多个字符时突出显示。(用于联系方式)。当有人填写表单时,字段将全部高亮显示为绿色,以告知其有效性。一般来说,我对JS和jQuery非常陌生,但我非常确定这是可行的。我可以单独使用$('#message').addClass('valid')
,它将应用该类,但是当我添加if/else语句时,没有任何效果。这是剧本
\\ Begin Highlight Code
var $messageval = $('#message').val()
if ($messageval.length != 0 ){
$('#message').addClass('valid');
}
else ($messageval.length = 0 ){
$('#message').removeClass('valid');
}
});
我在谷歌上搜索了几个小时,找不到任何东西可以根据文本长度变量动态添加和删除类
谢谢如果
if ($messageval.length != 0 ){
$(this).addClass('valid');
}
else if($messageval.length == 0 ){ //<-- Here
$('#message').removeClass('valid');
}
如果
if ($messageval.length != 0 ){
$(this).addClass('valid');
}
else if($messageval.length == 0 ){ //<-- Here
$('#message').removeClass('valid');
}
将您的代码更改为此
$(document).ready(function(){
$('#message').trigger('change');//if you initially want to check the textarea
$('#message').on('change', function(){
var $messageval = $(this).val();
if ($messageval.length != 0 ){
if (!$(this).hasClass("valid")) {
$(this).addClass("valid");
}
}
else ($messageval.length == 0 ){
if ($(this).hasClass("valid")) {
$(this).removeClass("valid");
}
}
});
});
干杯 将您的代码更改为此
$(document).ready(function(){
$('#message').trigger('change');//if you initially want to check the textarea
$('#message').on('change', function(){
var $messageval = $(this).val();
if ($messageval.length != 0 ){
if (!$(this).hasClass("valid")) {
$(this).addClass("valid");
}
}
else ($messageval.length == 0 ){
if ($(this).hasClass("valid")) {
$(this).removeClass("valid");
}
}
});
});
干杯 开头的注释无效…否则没有要检查的参数。即使是这样,这种情况也总是正确的。使用==而不仅仅是=。var上缺少分号,这是在什么页面加载上发生的?你应该把它放在一个键控侦听器中。开头的注释无效…否则没有要检查的参数。即使是这样,这种情况也总是正确的。使用==而不仅仅是=。var上缺少分号,这是在什么页面加载上发生的?你应该把它放在一个keyup监听器中。如果你为keyup添加事件监听器,我知道我已经关闭了它,但是如果页面加载中有文本,我该如何添加这个类呢?如果使用框中的文本刷新,则不会应用该类,即使是在
keyup
上,如果要在页面加载时应用,则只需将条件放在document ready下任何函数的外侧即可。但是,如果您认为它总是存在,则将该类有效地放入textarea标记本身,或者当您为textarea赋值时,您也可以添加该类。如果您向表单添加文本并刷新表单,则不会清除该表单。我只是想检查在刷新时是否有加载的文本。您可以使用on change事件保持添加样式类的条件,并在页面加载时触发更改事件。如果您为KeyUp添加事件侦听器,我会加上。我知道我关闭了此功能,但是如果页面加载时有文本,我将如何添加该类?如果使用框中的文本刷新,则不会应用该类,即使是在keyup
上,如果要在页面加载时应用,则只需将条件放在document ready下任何函数的外侧即可。但是,如果您认为它总是存在,则将该类有效地放入textarea标记本身,或者当您为textarea赋值时,您也可以添加该类。如果您向表单添加文本并刷新表单,则不会清除该表单。我只是想检查在刷新时是否加载了文本。您可以保留使用on change事件添加样式类的条件,并在页面加载时触发change事件。我尝试了,但没有成功。“它不起作用”是什么意思?一个小个子从电脑里爬出来告诉你了?我试过了,但没用。“它不起作用”是什么意思?一个小个子从电脑里爬出来告诉你了?
$(document).ready(function(){
$('#message').trigger('change');//if you initially want to check the textarea
$('#message').on('change', function(){
var $messageval = $(this).val();
if ($messageval.length != 0 ){
if (!$(this).hasClass("valid")) {
$(this).addClass("valid");
}
}
else ($messageval.length == 0 ){
if ($(this).hasClass("valid")) {
$(this).removeClass("valid");
}
}
});
});