如果标识为#createEditListCloseBtn
的对话框为空,如何禁用标识为#acronyms
的按钮?
我尝试过以下方法:
if($("#acronyms").children("option:selected").length < 1)
{
$("#createEditListSaveBtn").addClass("state-btn-disabled")
.attr("disabled", "disabled");
}
答案 0 :(得分:3)
您可以使用:
$("#submit").prop("disabled", true);
setInterval(function () {
if ($("#username").val().length >= 1 && $("#password").val().length >= 1) {
$("#submit").prop("disabled", false);
} else {
$("#submit").prop("disabled", true);
}
}, 100);
它检查两个字段的值是否等于或大于&#34; 1&#34;如果是这样,它会启用提交按钮。
FIDDLE HERE:http://jsfiddle.net/nn8s2e8h/
答案 1 :(得分:0)
如果问题是你的函数只在页面加载时运行一次,那么你需要的是一个事件处理程序:
function updateDisabledStatus() {
if($("#acronyms").children("option:selected").length < 1)
{
$("#createEditListSaveBtn").addClass("state-btn-disabled")
.attr("disabled", "disabled");
} else {
$("#createEditListSaveBtn").removeClass("state-btn-disabled")
.removeAttr("disabled");
}
}
updateDisabledStatus();
$("#acronyms").on('change', updateDisabledStatus);
与队长theo的回答不同,这并不会浪费用户的处理能力,每秒10次检查状态。
顺便说一下,你真的需要一个CSS类和一个禁用的属性吗?