我正在创建一个网站。在这个网站上,我创建了一个表格。因此,下面有2个下拉菜单。
我想将成人和儿童的数量限制为9个。一个人可以选择,即4个成人和0至5个孩子,或者6个成人和0-3个孩子,但总数不得超过9个。
到目前为止,我尝试的代码仅适用于成年人,而不适用于总计(成年人+儿童)。但是,在子菜单中选择一个值不是强制性的。如果用户愿意,可以将其保留为0。
我该怎么做??
这是我尝试过的Jquery部分:
<script type="text/javascript">
$(document).ready(function () {
var adults = parseFloat($('#adults').val());
var children = parseFloat($('#children').val());
var infants = $('#infants').val();
var Total = adults + children;
$('#adults').change(function() {
if (this.value > 8) {// check against the value of the adults drop down
$("#children").prop('disabled', true);
} else {
$("#children").prop('disabled', false); // probably need to re-enable it
}
});
});
</script>
这是HTML下拉视图。
<form class="form-horizontal" method="POST" action="#" enctype="multipart/form-data" id="signupForm">
<div class="col-md-4 col-sm-12 hero-feature">
<!-- Start Of The Col Class -->
Adults :
<select name="adults" class="form-control" id="adults">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select> <br>
</div>
<div class="col-md-4 col-sm-12 hero-feature">
<!-- Start Of The Col Class -->
Children :
<select name="children" class="form-control" id="children">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select> <br>
</div>
<a href="#" id="ghsubmitbtn" class="btn btn-success">Search Flight Data</a>
</form>
答案 0 :(得分:1)
以下代码段可能会对您有所帮助。
var totalAdultChild = 9;
$('#adults').change(function() {
var adultValue = this.value;
if (this.value > 8) {
$("#children").prop('disabled', true);
} else {
$("#children").prop('disabled', false);
$('#children option').each(function(index,element){
if((totalAdultChild-adultValue)<this.value){
$(this).hide();
} else {
$(this).show();
}
});
}
});