我正在尝试检查我的下拉列表的值是否为“单日期”,如果是,则隐藏div #ToDate。不知道我在这里做错了什么。
HTML
<div class="mc-form-field mc-full">
<label for="formDate">Payment Date:</label>
<select name="mc-formPaymentDate" id="PaymentDate">
<option value="Please select">Please select</option>
<option value="Single Date">Single Date</option>
<option value="Date Range">Date Range</option>
<option value="Single Month">Single Month</option>
<option value="Last 30 Days">Last 30 Days</option>
<option value="Last 60 Days">Last 60 Days</option>
<option value="Last 90 Days">Last 90 Days</option>
</select>
</div>
<div class="mc-form-field mc-half mc-inline">
<label for="mc-formFromDate">From Date:</label>
<input type="text" name="formFromDate" id="mc-formFromDate" class="mc-text">
</div>
<div class="mc-form-field mc-half mc-inline mc-right" id="ToDate">
<label for="mc-formToDate">To Date:</label>
<input type="text" name="formToDate" id="mc-formToDate" class="mc-text">
</div>
的Javascript
$("#PaymentDate").change(function() {
if (this.value == 'Single Date') {
$('#ToDate').hide();
}
});
答案 0 :(得分:5)
尝试使用jQuery toggle
方法,该方法可以采用布尔标记来显示或隐藏元素。
$("#PaymentDate").change(function() {
$('#ToDate').toggle(this.value != 'Single Date');
});
答案 1 :(得分:1)
它运行正常,但如果测试结果为假,则需要再次显式show
ToDate:
$("#PaymentDate").change(function() {
if (this.value == 'Single Date') {
$('#ToDate').hide();
} else {
$('#ToDate').show();
}
});
答案 2 :(得分:0)
你试过吗?
<script type="text/javascript">
$(document).ready(function(){
$("#PaymentDate").change(function() {
if ($(this).val() == 'Single Date')
$('#ToDate').hide();
});
});
</script>
请注意,我使用$(this).val()而不是this.value