jQuery Mobile如何检查button是否被禁用?
我在我的jQuery Mobile网页上禁用了这样的button:
$(document).ready(function() { $("#deliveryNext").button(); $("#deliveryNext").button('disable'); });
我可以启用它
$("#deliveryNext").button('enable');
但是,如何检查button是否被禁用或启用?
这个命令给出“未定义”:
$("#deliveryNext").attr('disabled')
有些想法?
编辑:我发现,$(“#deliveryNext”)。button('禁用')只有接缝,以改变button的样式,点击工作正常后,所以我需要禁用button一些也如何..我试过。 attr('disabled','disabled')但是当我然后testing.attr('禁用')我得到undefined …
Edit2:更多关于我的“真正的”问题在如何禁用jQuery Mobile中的链接button?
尝试:is
select器
$("#deliveryNext").is(":disabled")
改用.prop代替:
$('#deliveryNext').prop('disabled')
尝试
$("#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>
我有同样的问题,我发现这是工作:
if ($("#deliveryNext").attr('disabled')) { // do sth if disabled } else { // do sth if enabled }
如果这给你未定义,那么你可以使用条件也。
当你评估undefined
,它将返回false
。
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); } }); });
尝试
$("#deliveryNext").is('[disabled]');
要查看在jQuery UIbutton上设置了哪些选项,请使用:
$("#deliveryNext").button('option')
要检查它是否被禁用,您可以使用:
$("#deliveryNext").button('option', 'disabled')
不幸的是,如果之前没有明确地启用或禁用button,则上述调用将仅仅返回button对象本身,因此您需要首先检查选项对象是否包含“禁用”属性。
所以要确定一个button是否被禁用,你可以这样做:
$("#deliveryNext").button('option').disabled != undefined && $("#deliveryNext").button('option', 'disabled')
$('#StartButton:disabled')..
然后检查它是否是未定义的。
这对我有效:
$("#testButton").hasClass('ui-state-disabled')
但是我更喜欢tomwadley的回答。
不过,(':disabled')代码对我来说也不适用,应该是最好的版本。 不知道,为什么它不起作用。 🙁
你可以使用jQuery.is()
函数:disabled
select器:
$("#savematerial").is(":disabled")
面对同样的问题,当试图检查一个button被禁用。 我尝试了各种方法,如btn.disabled
, btn.disabled
.is(':disabled')
.prop('disabled')
。 但是没有人为我工作。
有些例如.disabled
或.disabled
.is(':disabled')
返回undefined
而其他像.attr('disabled')
返回错误的结果 – 当button被禁用时返回false
。
但是只有一种技术适用于我 : .is('[disabled]')
( 带方括号 )。
因此,要确定一个button是否被禁用,请试试这个:
$("#myButton").is('[disabled]');