我在一个div中有一个复选框“体验”(比如id = "exp")。如果用户选择yes,则显示一个隐藏的div (假设id = "fill_details")。我正在使用jQuery隐藏和显示。问题是,在第一次单击复选框时,隐藏的div会显示元素(文本框和选择框)。然后单击复选框体验否,div再次隐藏,即使这样也没问题。但是再次单击Yes时,文本框是空白的(这是我想要的),但选择框本身被分配了最后一个选择选项。(这是我不想要的。)
我想要的是“每次用户点击yes on Experience复选框时,div必须显示没有默认值。”
下面是我使用的代码:
@DavidThomas:下面是HTML
<div id="exp" class="row">
<?php
print drupal_render($form['submitted']['employment_history']['employer_1']['experience']);
}
?>
</div>
<div id="fill_details" >
<div class="row">
<?php
print drupal_render($form['submitted']['employment_history']['employer_1']['name_of_employer']);
}
?>
</div>
<div class="row">
<?php
print drupal_render($form['submitted']['employment_history']['employer_1']['starting_salary']);
}
?>
</div>
</div>这就是我用来做同样事情的JQuery。
if($("#exp").is(':checked')) {
$('#fill_details').show();
}
else {
$('#fill_details').hide();
$('#fill_details *').val('');
}上面的体验元素是一个单选按钮,而薪水是选择框。请帮帮忙,我不知道问题出在哪里。谢谢。
发布于 2013-07-23 21:24:53
您的选择框中是否有“空白”值?如果没有,试试这个:
<select id="mySelect">
<option value="">Please select an option</option>
</select>Fiddle
发布于 2013-07-23 21:24:54
您可能需要重置该值。
if($("#exp").is(':checked')) {
$('#fill_details').show();
}
else {
$('#fill_details').hide();
$('#fill_details *').val('');
**$('#fill_details select option:first').attr('selected','selected');**
}但是像jsfiddle这样的东西会更容易辨别。
发布于 2013-07-23 21:33:05
您可以使用jquery toggle()方法隐藏/取消隐藏div on复选框选中/取消选中,
$("#exp").click(function() {
$("#fill_details").toggle();
});https://stackoverflow.com/questions/17811356
复制相似问题