JQuery Mobile Webページでこのようなボタンを無効にします。
$(document).ready(function() {
$("#deliveryNext").button();
$("#deliveryNext").button('disable');
});
そして、私はそれを有効にすることができます
$("#deliveryNext").button('enable');
しかし、ボタンが無効になっているか有効になっているかを確認するにはどうすればよいですか?
このコマンドは「未定義」を与えます:
$("#deliveryNext").attr('disabled')
いくつかのアイデア?
編集:$( "#deliveryNext")。button( 'disable')はボタンのスタイルを変更するためにのみ継ぎ目があり、クリックはうまく機能するので、何らかの方法でボタンを無効にする必要があります。 attr( 'disabled'、 'disabled')しかし、その後.attr( 'disabled')をテストすると、未定義になります...
Edit2: jQuery Mobileでリンクボタンを無効にする方法? での「本当の」問題の詳細
試してください:is
セレクター
$("#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
}
これにより未定義になる場合は、if
条件も使用できます。
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]');
ボタンが無効になっているかどうかを確認しようとすると、同じ問題に直面しました。 _btn.disabled
_、.is(':disabled')
、.attr('disabled')
、.prop('disabled')
など、さまざまなアプローチを試しました。しかし、私のために働く人はいません。
たとえば、_.disabled
_または.is(':disabled')
がundefined
を返し、.attr('disabled')
などが間違った結果を返しました-ボタンが実際にあったときのfalse
無効。
しかし、唯一のテクニック私のために働く:.is('[disabled]')
(with角括弧)。
ボタンが無効になっているかどうかを判断するには、これを試してください:
_$("#myButton").is('[disabled]');
_
jQuery UIボタンで設定されているオプションを確認するには、次を使用します。
$("#deliveryNext").button('option')
無効になっているかどうかを確認するには、次を使用できます。
$("#deliveryNext").button('option', 'disabled')
残念ながら、ボタンが以前に明示的に有効または無効にされていない場合、上記の呼び出しはボタンオブジェクト自体を返すだけなので、オプションオブジェクトに「無効」プロパティが含まれているかどうかを最初に確認する必要があります。
したがって、ボタンが無効になっているかどうかを判断するには、次のようにします。
$("#deliveryNext").button('option').disabled != undefined && $("#deliveryNext").button('option', 'disabled')
私のために働いたのはこれでした:
$("#testButton").hasClass('ui-state-disabled')
しかし、私はトムワドリーの答えがもっと好きです。
それにもかかわらず、is( ':disabled')コードは私にとってはうまくいきません。なぜわからないのかわかりません。 :-(
jQuery.is()
functionと :disabled
セレクター:
$("#savematerial").is(":disabled")
$( '#StartButton:disabled')..
次に、未定義かどうかを確認します。