【发布时间】:2013-11-18 19:02:35
【问题描述】:
这是我正在使用的 jQuery。
我在标题中的 Javascript:
$(document).ready(function () {
$("#form-order").hide();
$('#list').change(function() {
if ($(this).val() == 'C' || $(this).val() == 'D') {
$('#form-order').show();
} else {
$('#form-order').hide();
}
});
});
还有我身体的一部分:
List:
<select name="list" id="list">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
<div id="form-order">
Order:
<select name="order" id="order">
<option value="class">class</option>
<option value="event">event</option>
</select>
</div>
提交前效果很好。如果选择 A 或 B,<div>(第二个下拉字段)将不可见。如果选择 C 或 D,则会显示 <div>。
我的问题是在提交带有选择 C 或 D 的表单时,它还隐藏了 .那么在这些情况下如何保持<div> 可见呢?
我认为应该有一个解决方案来检查我的第一个下拉字段值的状态并显示/隐藏<div>。提交后,我的代码会将所有选定的值保留在下拉字段中。
小更新:
表单的提交由input_type=submit元素完成。
【问题讨论】:
-
由于您的页面正在重新加载,您必须找到一种方法来保持它可见并在页面加载时显示它。你试过什么?
-
也许对
.hide()的初始调用可以基于服务器端逻辑有条件地发送到页面?服务器端代码知道 POST 的上下文,并在响应中预先设置所选值。 -
我试图通过
if ($(this).val() == 'C') { $('#form-order').show(); }使该 div 可见
标签: jquery forms drop-down-menu form-submit