Javascript 根据下拉菜单中的选定值启用/禁用表单中元素的最佳方法?
我有一个带有访问级别字段的表单。根据所选值,表单上将启用更多字段。以下是我的表格示例: $'frm_accesslevel'。在'change',accesslevel; 函数访问级别{ var fldVal=$this.val; 开关FLDVAL{ 案例“1”: 打破 案例“2”: 打破 案例“3”: 打破 案例“4”: 打破 违约: } }Javascript 根据下拉菜单中的选定值启用/禁用表单中元素的最佳方法?,javascript,jquery,html,twitter-bootstrap,twitter-bootstrap-3,Javascript,Jquery,Html,Twitter Bootstrap,Twitter Bootstrap 3,我有一个带有访问级别字段的表单。根据所选值,表单上将启用更多字段。以下是我的表格示例: $'frm_accesslevel'。在'change',accesslevel; 函数访问级别{ var fldVal=$this.val; 开关FLDVAL{ 案例“1”: 打破 案例“2”: 打破 案例“3”: 打破 案例“4”: 打破 违约: } } 您应该尝试以下方法: $('#frm_accesslevel').on('change', function(){ var fldVal = $(t
您应该尝试以下方法:
$('#frm_accesslevel').on('change', function(){
var fldVal = $(this).val(); // you have access to this here, not outside
switch(+fldVal) {//cast as number with +
case 1:
alert("nothing happen");
break;
case 2:
$(".form-control").hide();//hide all
$("#frm_region").show();
$("#frm_accesslevel").show();
break;
case 3:
alert("behavior");
$(".form-control").show();//show all
break;
case 4:
alert("other behavior");
$(".form-control").show();//show all
break;
default:
alert("somethig wrong");
}
});
请记住,html中有错误,有些错误丢失,id的属性中有空格
这是一个简单而实用的例子这个怎么样?
如果有3个以上的SELECT,那么可以使用selects名称遍历数组,以避免重复.hasClass部分
$frm_accesslevel.changefunction{
var selected=$frm\U访问级别选项:已选择;
$'.enabler'.eachfunction{
$this.propdisabled,true;
};
如果已选择。hasClass'region'{
$'frm_region'.propdisabled,false;
}
如果已选择。hasClass'state'{
$'frm_state'.propdisabled,false;
}
如果选中,则为“城市”类{
$'frm_city'.propdisabled,false;
}
};
访问级别:
-选择级别-
1级
二级
三级
四级
区域
声明:
城市:
提交
即使这样做有效,我认为他正在寻找最好的方法。正如标题所说。我的呢?@NiMusco我认为OP方法不错。当然,您的方法更具可扩展性。否则,如果我们有数百个选择,我们也需要另一种方法。