我在jQuery Mobile网页上禁用了这样的按钮:
$(document).ready(function() {
$("#deliveryNext").button();
$("#deliveryNext").button('disable');
});
我可以用
启用它$("#deliveryNext").button('enable');
但是如何检查按钮是否已禁用或启用?
此命令提供“undefined”:
$("#deliveryNext").attr('disabled')
一些想法?
编辑:我发现$(“#deliveryNext”)。按钮('禁用')只接缝改变按钮上的样式,点击工作正常后我需要禁用按钮一些如何也..我试过.attr('禁用','禁用'),但是当我测试.attr('禁用')时,我得到了未定义......
的“真实”问题答案 0 :(得分:115)
尝试:is
选择器
$("#deliveryNext").is(":disabled")
答案 1 :(得分:23)
使用.prop代替:
$('#deliveryNext').prop('disabled')
答案 2 :(得分:9)
尝试
$("#deliveryNext").is(":disabled")
以下代码适用于我:
<script type="text/javascript">
$(document).ready(function () {
$("#testButton").button();
$("#testButton").button('disable');
alert($('#testButton').is(':disabled'));
});
</script>
<p>
<button id="testButton">Testing</button>
</p>
答案 3 :(得分:7)
我遇到了同样的问题,我发现这是有效的:
if ($("#deliveryNext").attr('disabled')) {
// do sth if disabled
} else {
// do sth if enabled
}
如果这给你未定义,那么你也可以使用if
条件。
评估undefined
时,它会返回false
。
答案 4 :(得分:5)
http://jsfiddle.net/8gfYZ/11/ 点击这里..
$(function(){
$('#check').click(function(){
if( $('#myButton').prop('disabled') ) {
alert('disabled');
$('#myButton').prop('disabled',false);
}
else {
alert('enabled');
$('#myButton').prop('disabled',true);
}
});
});
答案 5 :(得分:5)
尝试检查按钮是否已禁用时遇到同样的问题。我尝试了各种方法,例如btn.disabled
,.is(':disabled')
,.attr('disabled')
,.prop('disabled')
。但没有人适合我。
某些内容,例如.disabled
或.is(':disabled')
返回undefined
而其他类似.attr('disabled')
返回了错误的结果 - false
当按钮实际被禁用时。< / p>
但只有一种技术适合我: .is('[disabled]')
(带方括号)。
因此,要确定按钮是否已禁用,请尝试以下操作:
$("#myButton").is('[disabled]');
答案 6 :(得分:4)
尝试
$("#deliveryNext").is('[disabled]');
答案 7 :(得分:2)
要查看在 jQuery UI 按钮上设置了哪些选项,请使用:
$("#deliveryNext").button('option')
要检查它是否已禁用,您可以使用:
$("#deliveryNext").button('option', 'disabled')
不幸的是,如果之前未显式启用或禁用该按钮,则上述调用将仅返回按钮对象本身,因此您需要首先检查选项对象是否包含“已禁用”属性。 / p>
因此,要确定按钮是否已禁用,您可以这样做:
$("#deliveryNext").button('option').disabled != undefined && $("#deliveryNext").button('option', 'disabled')
答案 8 :(得分:0)
$('#StartButton:disabled')..
然后检查它是否未定义。
答案 9 :(得分:0)
对我有用的是:
$("#testButton").hasClass('ui-state-disabled')
但我更喜欢tomwadley的答案。
然而,is(':disabled')代码也不适用于我应该是最好的版本。不知道,为什么它不起作用。 : - (
答案 10 :(得分:0)
您可以使用jQuery.is()
功能和:disabled
选择器:
$("#savematerial").is(":disabled")
答案 11 :(得分:0)
试试下面的:-
$("#yourButtonId").is(":disabled")