Javascript隐藏/显示数据作为输入无线电

时间:2013-10-28 05:23:48

标签: javascript jquery html

我创建了一个代码,通过点击另一个RADIO点击RADIO和其他信息来显示信息。

正常工作,但是当我更新页面时,即使是CHECKED,也没有显示任何信息。然后我必须再次点击已经显示CHECKED信息的RADIO。

任何人都知道如何解决?

请遵循以下代码:

<script>
// COLOR BG OR IMG BG
$(document).ready(function(){ 
    $("input[name$='userBgOrImg']").click(function() {
        var test = $(this).val();
        $("div.desc").hide();
        $("#"+test).show();
    }); 
});

</script>

<style type="text/css">
    .desc { display: none; }
</style>


<div><label><input type="radio" name="userBgOrImg" value="1" <?php $id = $res_select["id"]; if ( $userBgOrImg == 1 ) { echo "checked=\"checked\"";} else { echo "";}?>>Cor de Fundo</label></div>  
<div><label><input type="radio" name="userBgOrImg" value="2" <?php $id = $res_select["id"]; if ( $userBgOrImg == 2 ) { echo "checked=\"checked\"";} else { echo "";}?>>Imagem de Fundo</label></div>  
<div> <br /> <br /> </div>
<div id="1" class="desc">
    <label for="userBgBody">Cor do fundo do Site</label>
    <input type="text" class="form-control bscp span12" value="<?php $id = $res_select["id"]; echo $userBgBody; ?>" id="userBgBody" name="userBgBody">
    <hr />
</div>

<div id="2" class="desc">
    <label for="userImgBody">Imagem de fundo do site</label>
    <input type="text" class="span12" name="userImgBody" id="userImgBody" placeholder="Imagem do fundo do site" value="<?php $id = $res_select["id"]; echo $userImgBody; ?>" />
    <hr />

    <label for="userImgBodyRepeat">Repetir imagem de fundo</label>
    <span> <input type="radio" name="userImgBodyRepeat" value="repeat"> Sim</span> <span> <input type="radio" name="userImgBodyRepeat" value="no-repeat" selected="selected"> Não
    <hr />
</div>

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

试试这个,

$(document).ready(function(){
    var did=$("input[name$='userBgOrImg']:checked").val();
    if(did)
    {
       $("#"+did).show();
    }
    // your remaining code
});// document.ready function close

Demo

答案 1 :(得分:0)

你需要尝试

$(document).ready(function(){ 
    $("input[name$='userBgOrImg']").change(function() {
        var test = $(this).val();
        $("div.desc").hide();
        if(this.checked) {
            $("#"+test).show();
        }
    }).filter(':checked').change(); 
});

答案 2 :(得分:0)

Tr this ..

$(document).ready(function () {
$("input[name$='userBgOrImg']").click(function () {
    var value = $(this).val();
    if(value)
 {
    $("#"+value).show();
 }
});