当三个输入元素中有值时,如何触发JavaScript函数?
当三个输入框上有值时,如何触发事件?例如,假设我有三个输入元素:当三个输入元素中有值时,如何触发JavaScript函数?,javascript,jquery,Javascript,Jquery,当三个输入框上有值时,如何触发事件?例如,假设我有三个输入元素: <input type = "text" name = "item1" id = "item1" value=""> <input type = "text" name = "item2" id = "item2" value=""> <input type = "text" name = "item3" id = "item3" value=""> 我想在这三个输入元素有值时使用Java
<input type = "text" name = "item1" id = "item1" value="">
<input type = "text" name = "item2" id = "item2" value="">
<input type = "text" name = "item3" id = "item3" value="">
我想在这三个输入元素有值时使用JavaScript输出一个结果,在不满足条件时自动返回null
<span> item1,item2,item3 has value </span>
item1、item2、item3有值
EDIT1:
仅当3个输入框有值时显示结果,否则返回null
EDIT2:
当3个输入框有值时,我想将复选框attr设置为true,否则为false。使用
onKeyUP
事件
&检查输入值是否为$(e).val().length>0
演示:
$('input[id^=item]')。键控(函数(evt){
var hasVal=Array.from($('input[id^=item')).filter((i,e)=>$(e.val().length>0)).map((e)=>$(e.attr('id')).join(','))
$('span').html((hasVal.length)?hasVal+'有值':'没有输入有值')
});代码>
试试这个。如果您需要在第三个输入中显示,则在第三个输入中使用onfocus而不是onchange
<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#showText').hide();
});
function canShowText(){
if($('#item1').val().length>0 && $('#item2').val().length>0 && $('#item3').val().length>0)
$('#showText').show();
}
</script>
</head>
<body>
<input type="text" name="item1" id="item1" value="" onchange='canShowText()'><br>
<input type="text" name="item2" id="item2" value="" onchange='canShowText()'><br>
<input type="text" name="item3" id="item3" value="" onchange='canShowText()'><br>
<span id='showText'> item1,item2,item3 has value </span>
</body>
</html>
例子
$(文档).ready(函数(){
$('#showText').hide();
});
函数canShowText(){
如果($('#item1').val().length>0&$('#item2').val().length>0&$('#item3').val().length>0)
$('#showText').show();
}
项1、项2、项3有值
您可以使用.toArray()
,.every()
,输入
事件
函数handleValues(){
警报(“所有三个输入都有值”);
html(arr.map(函数(el){return el.value}).join(“,”)
}
函数handleInput(e){
arr.every(功能(el){
返回el.value.length;
})
?手价()
:!!span.html(“”&&alert(“所有三个输入都没有值”);
}
var-input=$(“输入”),arr=input.toArray(),span=$(“span”);
输入。on(“输入”,handleInput);
handleInput()代码>
只需编辑它,并让它根据我的需要工作即可$(document).ready(函数(){$('#showText').hide();});函数canShowText(){if($('#item1').val().length>0&$('#item2').val().length>0&$('#item3').val().length>0{$('#showText').show()}否则{$('#showText').hide()}谢谢!对$('#showText').hide()使用else;如果任何输入值变为空,您需要再次隐藏span内容。编辑问题