【发布时间】:2026-01-29 08:15:02
【问题描述】:
<div class="waive_admin_fee">
<label class="label">Waive admin fee?</label>
<div>
<div class="select">
<select name="waive_admin" required>
<option value="no">No</option>
<option value="yes">Yes</option>
</select>
</div>
</div>
</div>
<div class="remaining_payments">
<label class="label">Remaining Payments</label>
<div>
<input class="input" type="text" name="pn" value="1" required>
<span class="icon">
<i class="fa fa-money"></i>
</span>
<p class="help has-text-info">7 or more payments will have $150 extra cost.</p>
</div>
</div>
<div id="payments">
<label class="label">Monthly</label>
<input type="radio" name="p_option" id="monthly" value="monthly" checked required>
<label class="label">Customized</label>
<input type="radio" name="p_option" id="custom" value="custom" required>
</div>
我正在尝试根据选择下拉值隐藏几个 div。如果值为 Yes,则必须隐藏 div,否则必须显示它们。 HTML 代码:
<div>
<label class="label" for="">Total Balance Paid </label>
<div>
<div class="select">
<select name="total" id="total">
<option value="No">No</option>
<option value="Yes">Yes</option>
</select>
</div>
</div>
</div>
JS:
$(document).ready(function() {
$("select[name=total]").on("change", function() {
if($("select[name=total]").val() == 'Yes') {
$("#payments,.waive_admin_fee,.remaining_payments").hide();
} else {
$("#payments,.waive_admin_fee,.remaining_payments").show();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
当值为yes时隐藏div,但当值为no时不显示。
【问题讨论】:
-
这对于选择器来说看起来不正确。这也不是一个完整的例子,缺少很多元素。请提供一个最小、完整且可验证的示例:*.com/help/mcve
-
您尚未显示您试图隐藏/显示的 div 的 HTML。
-
"#payments,.waive_admin_fee,.remaining_payments"这里有什么元素? -
除非 HTML 标记有什么奇怪的地方,否则我无法重现该问题。
标签: javascript jquery html