我有一个名为customer-delete
的按钮,当客户有一些信息时应该禁用它,如果客户没有这样的信息,应该启用它。
我的代码是这样的:
if(customer.name!=null && customer.email!=null){
$("#customer-delete").button("disable");
console.info("disabled");
}else{
$("#customer-delete").button("enable");
console.info("enabled");
}
但这不能正常工作。 控制台正确显示它,这意味着逻辑没有问题,但按钮始终处于启用状态。
有人能为我解决这个问题吗?
答案 0 :(得分:2)
使用.prop()
$("#customer-delete").prop("disabled",true);
$("#customer-delete").prop("disabled",true);
// is the same as:
$("#customer-delete").removeProp("disabled");
在jQuery 1.6之前,使用.attr()
。
或者在使用jQuery UI时,您可以将其作为参数对象进行交付:
$("#customer-delete").button({ disabled: true });
或用setter方法初始化之后:
$("#customer-delete").button( "option", "disabled", true );
编辑:
我很抱歉忽略jquery-mobile
标记。根据{{3}}您的尝试.button("disable")
是正确的。现在有几种可能性:
该文件陈述以下内容 - 我无法根据您提供的上下文判断,是否适合您。
以下方法仅适用于表单按钮。基于链接的按钮没有任何相关的方法。
您的选择器无法正确匹配。
代码中的其他地方发生冲突。
答案 1 :(得分:0)
if(customer.name!=null && customer.email!=null){
$("#customer-delete").attr("disabled", "disabled");
console.info("disabled");
}else{
$("#customer-delete").removeAttr("disabled");
console.info("enabled");
}
答案 2 :(得分:0)
试试这个
if(customer.name!=null && customer.email!=null){
$("#customer-delete").attr("disabled", true);
}else{
$("#customer-delete").attr("disabled", false);
}
答案 3 :(得分:0)
来自the documentation,是不是应该看起来像这样?
$( "#customer-delete" ).button({ disabled: true });
答案 4 :(得分:0)
如果它具有按钮的数据角色但实际上不是按钮(例如链接),则不能使用这些功能;'
$("#customer-delete").addClass('ui-disabled');