0

我正在使用 jquery 在选择时显示 div 存储到数据库

<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>

它在点击功能上工作正常,但是一旦我选择外部链接单选并保存到数据库而不是重新打开帖子,如果选择了外部链接单选按钮,#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();
    });
});
4

2 回答 2

4

根据我在您的主脚本中的理解,您隐藏了主块。虽然它不需要,因为您已经在说在您的标记中显示 none。

请检查 jsfiddle 链接

演示

http://jsfiddle.net/saorabhkr/DFPAX/

于 2012-10-09T08:25:36.400 回答
-1

它将始终隐藏,因为您已经编写了代码来隐藏脚本标记的倒数第二行中的框(#urlbox)。页面加载时将始终执行。

于 2012-10-09T07:53:07.883 回答