我不一定需要一个完整的jQuery插件来处理我在这里寻找的那种验证。也就是说,我只想保持一个表单输入被禁用,直到整数被输入另外两个,然后将其解锁。这是我用来实现这个的if-loop。
if ($("#q") && $("#target") === ''){
$('#read_return_response_rate_ids').attr('disabled', 'disabled')
} else {
$('#read_return_response_rate_ids').attr('disabled', '')
}
Bootstrap有一个漂亮的标记选择器叫做“禁用”,如果你把它设置为“禁用”,它实际上会禁用表单输入。我不确定将禁用的表单字段设置为空字符串是否会将其反转,因此这也是问题的一部分。我找不到任何指向Google上禁用方法相反的内容,所以我不确定是否存在“禁用”属性的反转。
老实说,我觉得我错过了一些微不足道的东西,一旦答案透露给我,我将会面临核问题。在此先感谢那些提供帮助的人。
答案 0 :(得分:1)
这就是我提出的:
$(document).keyup(function () {
if ((isNaN($('#num1').val()) == false && $('#num1').val().length > 0) && (isNaN($('#num2').val()) == false && $('#num2').val().length > 0)) {
$('#num3').removeAttr('disabled');
} else {
$('#num3').attr('disabled','disabled');
}
});
第3个文本框仅在前两个文本框包含数字时启用。
只是指出,disabled
属性是HTML5属性,而不是Bootstrap特定属性:)
答案 1 :(得分:1)
我用这个:
$('#read_return_response_rate_ids').removeAttr('disabled');
你的代码看起来像
(更新正则表达式/^\d+$/.test(val)
以测试是否只输入数字):
function enableOrDisableField()
{
if (/^\d+$/.test($("#q").val()) && /^\d+$/.test($("#target").val))
{
$('#read_return_response_rate_ids').attr('disabled','disabled');
}
else
{
$('#read_return_response_rate_ids').removeAttr('disabled');
}
}
$("#q").on("change",function(){
enableOrDisableField();
});
$("#target").on("change", function(){
enableOrDisableField();
});