我有一个带有输入字段的表单,它返回keyup
上的计算输出。问题是我希望字段仅在填充所有输入值时执行该函数。理想情况下,我通过在最后一个输入字段上运行keyup
函数然后返回值来完成此操作。
但是,我还希望在编辑或更新任何字段值时立即返回计算结果。
如何仅在填写所有值时调用该函数,还能在编辑值时调用该函数?
这是代码:
$('#3').keyup(function(e) {
$('.a').val(getRandomNumber());
});
function getRandomNumber() {
return Math.random();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="texty" id="1" /> <br>
<input type="text" class="texty" id="2" /> <br>
<input type="text" class="texty" id="3" /> <br>
<input type="text" class="a" id="4" />
因此,在上面的示例代码中,我希望仅在填充了类getRandomNumber
的所有输入值(即非空)时才调用函数texty
。但是一旦所有值都被填充,如果我再次编辑任何字段,我希望再次调用该函数。我怎样才能做到这一点?
答案 0 :(得分:2)
$('#1').keyup(onkeyup);
$('#2').keyup(onkeyup);
$('#3').keyup(onkeyup);
function onkeyup(ev) {
if ($('#1').val() && $('#2').val() && $('#3').val()) {
$('.a').val(getRandomNumber());
}
}
function getRandomNumber() {
return Math.random();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="texty" id="1" /> <br>
<input type="text" class="texty" id="2" /> <br>
<input type="text" class="texty" id="3" /> <br>
<input type="text" class="a" id="4" />
&#13;
答案 1 :(得分:0)
$('.texty').keyup(function(e) {
var getRandom = true;
$.each($('.texty'),function(key , value){
(!$(this).val().length)?
getRandom = false:''
});
getRandom?$('.a').val(getRandomNumber()):'';
});
function getRandomNumber() {
return Math.random();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="texty" id="1" /> <br>
<input type="text" class="texty" id="2" /> <br>
<input type="text" class="texty" id="3" /> <br>
<input type="text" class="a" id="4" />
&#13;