【发布时间】:2013-04-03 14:15:08
【问题描述】:
我正在根据复选框值更改 div 的内容。 div 的值是除一个复选框选项之外的所有内容的简单文本。在异常情况下,div 的值是另一个 div(比如说 childDiv)。
因此,当单击其他两个选项时,我将更改 childDiv 的可见性(display: none 到 jQuery.css()),并在单击异常选项时将其更改为 display: block。
当我更改复选框选项时,childDiv 变为隐藏。但是,当我希望它可见时,它不会再次显示。
小提琴在这里:http://jsfiddle.net/sandeepy02/jLgyp/
代码是
<div class="switch switch-three candy blue" id="reachout">
<input name="reachout" type="radio" id="tab-41" value="1" checked="checked"/>
<label for="tab-41">Experience</label>
<input name="reachout" type="radio" id="tab-42" value="2"/>
<label for="tab-42">Contact Us</label>
<input name="reachout" type="radio" id="tab-43" value="3"/>
<label for="tab-43">Why?</label>
<div id="test1234">
<div id="test12345">
Option Start
</div>
</div>
<span class="slide-button"></span>
</div>
和
jQuery("input[name='reachout']",jQuery('#reachout')).change(
function(e)
{
if(jQuery(this).val()=="1")
{
jQuery("#test1234").html("");
jQuery("#test12345").css("display","block");
}
if(jQuery(this).val()=="2")
{
jQuery("#test1234").html("Option 2");
jQuery("#test12345").css("display","none");
}
if(jQuery(this).val()=="3")
{
jQuery("#test1234").html("Option 3");
jQuery("#test12345").css("display","none");
}
});
我什至尝试过
jQuery("#test12345").css('position', 'absolute');
jQuery("#test12345").css('z-index', 3000);
在display: block 之后但没有用。
谢谢
【问题讨论】:
-
你可以尝试显示() div 吗?也许这会起作用,因为原始 div 被 display:no 隐藏了。类似于:jQuery("#test12345").css("display","block").show();
-
@andrew 试过了。还是不行。
-
附带说明,为了使您的代码更简洁,您可以尝试使用 case/switch 来代替多个 if 语句;)