javascript - 更改输入值时禁用按钮
问题描述
如何通过更改输入值禁用启用按钮。我想#second
通过远程或从其他输入字段更改其值来启用只读输入字段中的更改按钮。
$(document).ready(function(){
$('#button').attr('disabled',true);
});
$(document).on('change keyup blur','#first',function(){
var second= $('#second').val();
if($(this).val() != '' ){
sum = parseFloat($(this).val()) + parseFloat(second);
$('#second').val(sum);
}
});
$("#second").on('change',function(){
var second= $(this).val();
var third= $('#third').val();
if (second == third) {
$('#button').attr('disabled',false);
} else {
$('#button').attr('disabled',true);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="number" id="first" placeholder="first">
<input type="number" id="second" value="5" readonly>
<input type="number" id="third" value="10" readonly>
<input type="button" id="button" value="button" />
解决方案
试试这个
https://www.w3schools.com/code/tryit.asp?filename=G5YTJB50T072
在你的代码中你使用了keyup、change、blur这使得计算不正确并且总是使用jquery代码,比如document.ready中的change函数。
谢谢你
<script>
$(document).ready(function(){
$('#button').attr('disabled',true);
$("#second").on('change',function(){
var second = $(this).val();
var third = $('#third').val();
if (second == third) {
$('#button').attr('disabled',false);
} else {
$('#button').attr('disabled',true);
}
});
});
$(document).on('keyup','#first',function(){
var second= $('#second').val();
if($(this).val() != ''){
sum = parseFloat($(this).val()) + parseFloat(second);
$('#second').val(sum);
$('#second').val(sum).trigger('change');
}
});
</script>
推荐阅读
- sql - SQL - 根据列值重新启动分区
- javascript - reducer 中的 redux 有效负载问题
- javascript - 在 node.js 中使用 fetch 时出现 403 禁止错误
- excel - Powershell - 无法在 Excel Comobject 中添加特定文本
- vba - 如何在关闭提示时更改保存中的默认路径?
- sql - Oracle如何获取保存为时间时间戳的今天日期的数据
- wordpress - 在 alb 后面配置 Wordpress HOME_URL 和 SITE_URL,并使用 ssl 终止。寻找在云端使用的可能性
- c++ - 中止的核心转储 C++ malloc sysmalloc
- spring-security - 使用 keycloak rest admin API (Oauth2) 修改用户姓氏后 jhipster 重新加载 OIDC 令牌
- fortran - 如何编译 Fortran 子程序