使用值过滤下拉菜单
filtering drop down menu using value
是否有可能在javascript中过滤基于另一个字段菜单的下拉菜单,仅使用value属性?
我的意思是,我有以下代码,这是由django框架构建的:
<p><label for="id_country">Country :</label> <select id="id_region" name="region">
<option value="" selected="selected">---------</option>
<option value="1">USA</option>
<option value="2">France</option>
</select></p>
<p><label for="id_region">Region :</label> <select id="id_city" name="city">
<option value="" selected="selected">---------</option>
<option value="1">California</option>
<option value="2">New-York</option>
<option value="3">Oregon</option>
<option value="4">Tenessee</option>
<option value="5">Paris</option>
<option value="6">Bretagne</option>
...
我必须过滤值,但只使用值的数字,但我想做得正确。我们可以这样写:
if(id_country == USA)
then:
id_region_value between 1 and 4
if(id_country == France)
then:
id_region_value between 5 and 6
你需要每秒钟select
$("#id_region").change(function(){
$("#id_city option[value!='']").hide();
if($(this).val()==1){
$("#id_city option").each(function(){
if($(this).val() >=1 && 4>=$(this).val()){
$(this).show();
}
});
}
if($(this).val()==2){
$("#id_city option").each(function(){
if($(this).val() >=5 && 6>=$(this).val()){
$(this).show();
}
});
}
});
http://jsfiddle.net/lTasty/46xLzgqm/你可以像这样使用全局选项:
var options = {
'USA' : { 1 : 'California', 2 : 'New York', 3 : 'Oregon', 4 : 'Tenessee' },
'France' : { 5 : 'Paris', 6 : 'Bretagne' }
};
继续添加区域要容易得多。
然后每次id_region
发生变化时都创建选项:
var options = {
'USA' : { 1 : 'California', 2 : 'New York', 3 : 'Oregon', 4 : 'Tenessee' },
'France' : { 5 : 'Paris', 6 : 'Bretagne' }
};
$('#id_region').on('change', function(){
//clean optionList
$('#id_city').empty();
//build optionList
var cities = options[$('#id_region option:selected').text()];
for(var index in cities){
$('<option value= "' + index + '">' + cities[index] + '</option>').appendTo('#id_city');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p><label for="id_country">Country :</label> <select id="id_region" name="region">
<option value="" selected="selected">---------</option>
<option value="1">USA</option>
<option value="2">France</option>
</select></p>
<p><label for="id_region">Region :</label> <select id="id_city" name="city">
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- angular的下拉菜单
- 创建带有和不带有JavaScript的Bootstrap下拉菜单
- 创建下拉菜单
- 下拉菜单在菜单按钮的边缘闪闪发光
- I'我设计了一个下拉菜单,onclick会出现,而on blur会消失
- 硒IDE下拉菜单
- 我的下拉菜单中的链接不起作用
- Bootstrap Dropdown selection是在*all*下拉菜单上设置选择
- 如何将JSON转换为HTML下拉菜单
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 基于下拉菜单创建开关
- 通过单向绑定的过滤功能提高自定义角度下拉菜单中的角度性能
- 使用JavaScript过滤下拉菜单
- 使用AngularJS自定义可过滤下拉菜单
- 使用下拉菜单反应过滤项目
- 从下拉菜单中过滤网页内容的最简单方法是什么?
- AngularJS通过下拉菜单中的选择过滤文本
- 使用值过滤下拉菜单
- 如何使用输入框和下拉菜单过滤数据