在下拉项中共享一个通用值,并在选择时调整该值
Share a common value among dropdown item and adjust the value on selection
我遇到了一种被卡住的情况。事实上,我必须在下拉列表中显示的条件中共享房间可用性,在任何下拉列表中选择后,实际的房间可用性都应该保持。
在javascript 中考虑以下场景
假设我有10个房间,有3个条件,所以我们有3个下拉列表,每个条件的值从1-10开始。
用户可以从任何条件中选择值,所以如果用户从一个下拉列表中选择了5,那么其他下拉列表的值应该只有1-5。如果用户从第二个条件中选择值2,则最终下拉列表应具有最大可选值3。用户可以在10个可用房间内玩游戏,但从所有条件中选择的任何时间最大值都不应超过10。
谁能告诉我怎么做吗?
当您从其中一个下拉列表中选择一个选项时,请从可用总数中减去该值,并从其余下拉列表中禁用这些选项。
$("select").change(function() {
$("option").prop('disabled', false);
var select1 = parseInt($("#select1").val(), 10);
var select2 = parseInt($("#select2").val(), 10);
if (!isNaN(select1)) {
var select2_max = 10 - select1;
$("#select2 option").slice(select2_max + 1).prop('disabled', true);
$("#select3 option").slice(select2_max + 1).prop('disabled', true);
if (!isNaN(select2)) {
var select3_max = select2_max - select2;
$("#select3 option").slice(select3_max + 1).prop('disabled', true);
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select1">
<option value="">Select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="4">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>
<option value="10">10</option>
</select>
<select id="select2">
<option value="">Select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="4">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>
<option value="10">10</option>
</select>
<select id="select3">
<option value="">Select</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="4">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>
<option value="10">10</option>
</select>
相关文章:
- 调整从选择输入中获取数据并将其放入 DIV 的 jQuery 代码
- 如何调整JavaScript容器以允许多个可能的选择器
- 将Highcharts StockChart范围选择器的大小调整为小于6个数据点
- 选择,然后使用jQuery调整具有一定比例的图像大小
- 流星:如何让 JS 日期范围选择器调整 API 调用日期参数
- Div 宽度根据选择的单选按钮数量调整大小
- 通过 jscript 随机选择图像时动态全尺寸调整图像大小的问题
- 使用 Knockoutjs 根据用户的语言选择动态调整页面内容
- 隐藏输入未正确选择的自定义复选框.Javascript需要调整
- jquery draggable-拖动时调整选择器大小
- JQuery Jcrop没有调整选择大小的功能
- TinyMCE:插入的图像是“;选择“;并且可以'无法调整大小
- 动态调整大小的选择元素IE不滚动
- 基于中小型单选按钮选择重新调整图像大小:是否可以通过CSS进行调整
- 时间选择器调整分钟步长
- 禁用& lt; img>在ie9中选择和调整可内容DIV的大小
- 动态调整自引导日期选择器的日期范围
- 如何调整下拉选择器的高度
- 如何使我的选择框溢出在我的固定页脚,如果浏览器调整大小
- 如何在jQuery日期和时间选择器中使用javascript/jQuery调整时区