2012-03-05 74 views
1

我有以下的CSS和HTML:如何让我的复选框出现并消失?

<select id="ContentID" name="ContentID"> 
    <option selected="selected" value="00">Menu</option> 
    <option value="01">Topic</option> 
</select> 
<input id="htmlEdit" type="checkbox" /> 

$("#ContentID") 
.val($.cookie("ContentID_dropdown")) 
.change(function() { 
    $.cookie("ContentID_dropdown", $(this).val(), { expires: 365, path: '/' }); 
}); 

有没有办法,我可以使复选框是可见的,如果选择“菜单”和不可见的,如果 别的选择?我不知道如何做到这一点。我想我需要的东西,将考虑到价值可能是基于cookie的一个或另一个,然后用户可以进去并改变它。

+0

+1我喜欢这个剧本如何使它看起来很容易保存某些东西的状态,可能的优化是编写一个jQuery插件,它将您的两个cookie行组合成'.save(“ContentID_dropdown”,365)' – 2012-03-05 02:34:56

回答

2

你只需要检查的价值,你需要看看另一个选项是否已选定相应的反应

$("#ContentID") 
.val($.cookie("ContentID_dropdown")) 
.change(function() { 
    if($(this).val() == "00") 
     $("#htmlEdit").hide(); 
    else 
     $("#htmlEdit").show(); 
    $.cookie("ContentID_dropdown", $(this).val(), { expires: 365, path: '/' }); 
}); 
+0

+1“,因为我一直在不断改进自己的代码编辑时间,我的最终版本将它嵌入到了它的内部现有脚本和另一个现在似乎已被删除的答案的评论。 – 2012-03-05 02:31:28

+0

谢谢:)我打字有点慢哈哈 – Developer 2012-03-05 02:32:39

+0

@Developer - 对不起,回复慢。当我尝试这段代码时,我得到错误:SCRIPT5009:'$ this'未定义 - 更新。只是注意到并将其更改为$(this)。 – Jessica 2012-03-05 02:53:40

2

,是这样的:

$("#ContentID") 
.val($.cookie("ContentID_dropdown")) 
.change(function() { 
    $.cookie("ContentID_dropdown", $(this).val(), { expires: 365, path: '/' }); 
    $("#htmlEdit").toggle($(this).val() == "00"); 
});