このプラグインを使用して、ページのチェック ボックスとラジオ ボタンをカスタマイズしています。
これらのラジオ ボタンは、div#Main
他の HTML 要素から構成される要素内にあります。div
ボタンのクリックでこれをすべて無効にする必要があります(私はjQueryを使用しています)。このために、次のコードがあります。
HTML
<input type="button" id="DisableElements" value="Disable elements" />
<div id="Main">
<input type="radio" class="styled" name="reg-all"/>
<input type="radio" class="styled" name="reg-all"/>
<select id="MyList">
<option value="1">Choice-1</option>
<option value="2">Choice-2</option>
</select>
<textarea id="Comments" rows="4" cols="5"></textarea>
</div>
脚本
$(function(){
$('#DisableElements').click(function(){
$('#Main').find('*').attr('disabled', 'disabled');
});
});
問題:ラジオ ボタンを除くすべてが正しく無効になりました。
舞台裏では、プラグイン スクリプトが実際のラジオ ボタンを隠し、
span
毛布のようにラジオ ボタンの上に を置きます。これspan
は、ラジオ ボタンの選択に応じて更新されるさまざまな状態 (オンとオフ) の背景画像スプライトを持っています。これがこのプラグインの働きでした。
プラグインの組み込みメソッドを使用して機能を無効化/破棄することもできましたが、そのためのメソッドが見つかりませんでした。