下拉框选择后调用js要怎么实现?

假设我现在有2个下拉框<select><optionvalue="A">A</option><optionvalue="B">B</option><optionvalue... 假设我现在有2个下拉框
<select>
<option value="A">A</option>

<option value="B">B</option>
<option value="C">C</option>
</select>
<select>
<option value="_1">A1</option>

<option value="_2">A2</option>
<option value="_3">B1</option>
<option value="_4">B2</option>

<option value="_5">C1</option>
<option value="_6">C2</option>
</select>
我现在想要实现的功能是,我在第一个下拉框中选择A后,第二个下拉框只显示A1,A2
选择B后,只显示B1,B2;选着C后只显示C1,C2
或者是:满足上述功能,将第二个下拉框改成好几个下拉框,然后根据第一个框的选择值来显示/隐藏第二个框
像各位高手请假!
展开
 我来答
xiii130
推荐于2017-09-01 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
<select onChange="showRight(this.value);">
    <option value="A">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
</select>
<select id="sub" style="display:none;">
</select>

<script>
function showRight(v){
    var t = document.getElementById('sub');
    document.getElementById('sub').style.display = '';
    switch(v){
        case 'A':
        t.innerHTML = '<option value="_1">A1</option><option value="_2">A2</option>';
        break;
        case 'B':
        t.innerHTML = '<option value="_3">B1</option><option value="_4">B2</option>';
        break;
        case 'C':
        t.innerHTML = '<option value="_5">C1</option><option value="_6">C2</option>';
        break;
    }
}
</script>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Amour_Crumble
2013-11-23
知道答主
回答量:16
采纳率:33%
帮助的人:5.1万
展开全部
这是一个连动下拉框的问题,
1.先定义一个数组{ A{A1,A2} B{B1,B2} c{C1,c2}}
2.在第一个下拉框创建事件,比如选A,动态增加第二个下拉框中的option
即可
追问
具体代码是什么样的呢?
追答
给你看个例子:

--国家--
中国
美国

--城市--

/* 连动下拉框的实现 */
function change(){
//alert("dsfa");
var arry = new Array();
//alert(0);
arry[0]=["成都","北京","天津"];
arry[1]=["纽约","华盛顿","新西兰"];

var val =document.forms[0].elements["country"].value;

var select2 =document.forms[0].elements["city"];
//alert(typeof(select2));
var len = select2.options.length;
//var arry1 = arry[val-1];
if(val==0)
{

for(var i=len;i>0;i--){
select2.remove(i-1);
}
select2.options[0]=new Option("--城市--",0);
return;
}

if(len>1){
for(var k=len;k>1;k--){
select2.remove(k-1);
}}
for(var j=0;j<=arry[val-1].length;j++){
select2.options[j]= new Option(arry[val-1][j],arry[val-1][j]);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式