我可以使用此代码在ExpirationTime具有值时禁用ValidUntil字段,此问题仅在我进行更改时有效,而在编辑记录时无效,是否有任何方法可以修改此代码以始终禁用Validuntil(如果Expirationtime)有价值吗?
$('#x_ExpirationTime').on('change', function() {
if(this.value.length > 0)
$('#x_ValidUntil').attr('disabled','disabled');
else
$('#x_ValidUntil').removeAttr('disabled');
});
预先感谢
答案 0 :(得分:1)
您需要在事件内部执行代码而无需执行change
动作才能使其自行工作。您有几种选择:
强制事件执行:
$('#x_ExpirationTime').on('change', function() { }).change();
在事件绑定的末尾添加change()
,以便在页面初始化后执行它。它将像用户更改它一样工作;
在函数中分隔事件正文:
function checkValue() {
let $input = $('#x_ValidUntil');
if($('#x_ExpirationTime').val().length > 0)
$input.attr('disabled','disabled');
else
$input.removeAttr('disabled');
}
$('#x_ExpirationTime').on('change', checkValue);
checkValue();
孤立地调用checkValue()
会神奇。
两种方法都将具有相同的结果。