jQuery 根据第一个选择菜单中的值选择填充第二个选择菜单
jQuery populate 2nd select menu based on value select in 1st select menu
我需要有2个选择菜单。第一个选择菜单中的选定选项将填充第二个选择菜单,但仅使用大于第一个选择菜单中所选值的值。
第一个选择菜单的值范围从 1 到 10,因此如果选择"4",第二个菜单将显示从 5 到 10 的选项。
我需要动态填充第二个选择菜单,而不是简单地从选择菜单中"删除"选项。
<select id="selectMenu1">
<option value="Select">Select</option>
<option value="10">10</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
<select id="selectMenu2">
</select>
将事件绑定到 selectMenu1 侦听更改,然后在更改时侦听将所选值放入"所选变量"并循环浏览选项过滤那些小于选定值的,并将它们放入 selectMenu2
$('#selectMenu1').on('change', function(){
var selected = $('option:selected', this).val();
var menu2Option = '';
$(this).find('option').each(function(idx, ele){
if(Number($(this).val()) > selected)
{
menu2Option += "<option value='"+$(this).val()+"'>"+$(this).text()+"</option>";
}
})
$('#selectMenu2').html(menu2Option);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectMenu1">
<option value="Select">Select</option>
<option value="10">10</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
<select id="selectMenu2">
</select>
试试这个
<script>
$(function(){
$('#selectMenu1').change(function(){
var selectedVal = parseInt($('#selectMenu1').val());
$('#selectMenu2').empty();
for(var i = selectedVal + 1; i < 11; i++){
var opt = new Option(i, i);
$('#selectMenu2').append(opt);
}
});
});
</script>
https://jsfiddle.net/n0n1rhLf/7/
您可以克隆选项元素,仅过滤所需的元素,然后在另一个选择中替换它们:
$('#selectMenu1').on('change', function(){
var menuOne = $(this), menuTwo = $('#selectMenu2');
menuOne.children('option').clone().filter(function(index, el){
return Number($(el).val()) > Number(menuOne.val())
}).appendTo(menuTwo.empty());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selectMenu1">
<option value="Select">Select</option>
<option value="10">10</option>
<option value="9">9</option>
<option value="8">8</option>
<option value="7">7</option>
<option value="6">6</option>
<option value="5">5</option>
<option value="4">4</option>
<option value="3">3</option>
<option value="2">2</option>
<option value="1">1</option>
</select>
<select id="selectMenu2">
</select>
相关文章:
- Jquerymobile-使用javascript创建选择菜单
- 修复选择菜单时的背景图像
- 选择菜单重置为以前选择的选项
- JQueryUI选择菜单-如何添加更多选项
- 预填充选择菜单
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 使用下拉选择菜单高亮显示一行表格单元格
- Jquery选择菜单选项在页面刷新时失败
- 选择菜单,将json列表与单数值进行匹配
- 从选择菜单中使用 jQuery 多次渲染部分
- 使用数组中的选项填充选择菜单
- 更改鼠标悬停在选择菜单上的颜色
- 使用jquery克隆一个选择菜单
- 如何在外部文件中创建选择菜单并将其嵌入到html中以显示菜单
- jQuery:将按钮过滤器转换为选择菜单选项
- 添加<td>在选择菜单JQuery中选择选项时
- 选择菜单后自动关闭切换导航菜单
- SQL生成的选择菜单,根据相关值更新文本框
- 如何动态填充DataTables选择菜单
- 如何将变量中的数据加载到Jquery Mobile中的选择菜单中