私はデータベースに保存されている選択時にdivを表示するためにjqueryを使用しています
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("input[name$='advert_specifications[link_type]']").click(function(){
var radio_value = jQuery(this).val();
if(radio_value=='advert_page') {
jQuery("#urlbox").hide('fast');
}
else if(radio_value=='external_link') {
jQuery("#urlbox").show('fast');
}
});
jQuery("#urlbox").hide();
});
</script>
<div class="my_meta_control">
<!--[advert link type group]-->
<div class="left side clearfix">
<label class="left sub_label"><input type="radio" value="advert_page" name="advert_specifications[link_type]"> Page Link</label>
<label class="left sub_label"><input type="radio" checked="checked" value="external_link" name="advert_specifications[link_type]"> External Link</label>
</div>
<!--[end of advert link type group]-->
<div id="urlbox" style="display: none;">
<p class="sidebox clearform">
<label>Advert External Link</label>
<input type="text" class="mydatepicker" value="" name="advert_specifications[advert_url]" id="advertdate">
</p>
</div>
</div>
クリック機能では正常に機能していますが、外部リンクラジオを選択してdbに保存すると、投稿を再度開くよりも、外部リンクラジオボタンが選択された場合に表示されるはずの場所に#urlboxが常に非表示になります。
編集:
# + test
私はこのコードを試しました、そしてそれはロード時にdivを隠すのと同じことをします
jQuery(document).ready(function() {
jQuery("div.links").hide();
jQuery("input[name$='advert_specifications[link_type]']").click(function() {
var test = jQuery(this).val();
jQuery("div.links").hide();
jQuery("#" + test).show();
});
});