これを機能させようとしています。通常のラジオを表示する代わりに、またはラジオを画像に置き換えます。私はそれをdivに置き換えたいと思います。ボタンとしてドレスアップし、ホバーするとクラスが変更され、クリックするとクラスが変更されます。クリックすると、非表示のラジオが選択されます。ただし、ラベル (.co.uk .com .net などのように表示されるテキストを参照するラベル) が div/button 内にあることも必要です。または、div ボタンにテキストを追加できます。これは可能ですか?
$(function() {
$("input [name='domain_ext']").each(function() {
if ($(this).prop('checked')) {
$(this).hide();
$(this).after($("< class='radioButtonOff' />"));
} else {
$(this).hide();
$(this).after($("<class='radioButtonOn' />"));
}
});
$("input.radio").click(function() {
if($(this).attr('src') == 'radiobuttonOn') {
$(this).attr('src', 'radiobuttonOff');
$(this).prev().attr('checked', 'false');
} else { // its not checked, so check it
$(this).attr('src', 'radioButtonOn');
$(this).prev().attr('checked', 'true');
}
});
});
HTML
<table class="domain_ext_ribbon">
<tr>
<td><label>
<input type="radio" name="domain_ext" value="all" />
All</label></td>
<td><label>
<input type="radio" name="domain_ext" value=".co.uk" />
.co.uk</label></td>
<td><label>
<input type="radio" name="domain_ext" value=".com" />
.com</label></td>
</tr>
<tr>
<td><label>
<input type="radio" name="domain_ext" value=".net" />
.net</label></td>
<td><label>
<input type="radio" name="domain_ext" value=".org" />
.net</label></td>
<td><label>
<input type="radio" name="domain_ext" value=".biz" />
.net</label></td>
</tr>
</table>
CSS
.radioButtonOff { width: 60px; height: 20px; background: #000000;}
.radioButtonHover { width: 60px; height: 20px; background: #666666;}
.radioButtonOn { width: 60px; height: 20px; background: #999999;}