html下拉框之间的联动------一级分类和二级分类

        html/js代码如下:

<html>
<body>

<select id="first" onChange="change()">
   <option selected="selected">湖北</option>
   <option>广东</option>
</select>

<select id="second">
   <option>黄冈</option>
   <option selected="selected">武汉</option>
</select>


<script>
function change()
{
   var x = document.getElementById("first");
   var y = document.getElementById("second");
   y.options.length = 0; // 清除second下拉框的所有内容
   if(x.selectedIndex == 0)
   {
		y.options.add(new Option("黄冈", "0"));
		y.options.add(new Option("武汉", "1", false, true));  // 默认选中省会城市
   }

   if(x.selectedIndex == 1)
   {
		y.options.add(new Option("深圳", "0"));
		y.options.add(new Option("广州", "1", false, true));  // 默认选中省会城市
		y.options.add(new Option("肇庆", "2"));
   }

}
</script>
  
</body>
</html>
        


  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
在 Element UI 中,可以通过 `el-select` 和 `el-option` 组件来实现下拉框联动,具体实现方式如下: 1. 在 HTML 中定义两个 `el-select` 组件,分别对应一级二级下拉框,同时为它们绑定 `v-model` 指令,以便获取选中的值。 2. 在一级下拉框中,为每个选项绑定一个 `change` 事件,当选项被选中时触发该事件。 3. 在 `change` 事件处理函数中,根据当前选中的值,动态生成二级下拉框的选项,并将其赋值给二级下拉框的 `options` 属性。 代码示例: ```html <template> <div> <el-select v-model="selectedFirst" @change="handleChangeFirst" placeholder="请选择一级选项"> <el-option v-for="item in firstOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> <el-select v-model="selectedSecond" placeholder="请选择二级选项"> <el-option v-for="item in secondOptions" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> </div> </template> <script> export default { data() { return { selectedFirst: '', selectedSecond: '', firstOptions: [ {label: '选项1', value: '1'}, {label: '选项2', value: '2'}, {label: '选项3', value: '3'} ], secondOptions: [] } }, methods: { handleChangeFirst() { // 根据一级选项动态生成二级选项 switch (this.selectedFirst) { case '1': this.secondOptions = [ {label: '选项1-1', value: '1-1'}, {label: '选项1-2', value: '1-2'}, {label: '选项1-3', value: '1-3'} ] break case '2': this.secondOptions = [ {label: '选项2-1', value: '2-1'}, {label: '选项2-2', value: '2-2'}, {label: '选项2-3', value: '2-3'} ] break case '3': this.secondOptions = [ {label: '选项3-1', value: '3-1'}, {label: '选项3-2', value: '3-2'}, {label: '选项3-3', value: '3-3'} ] break default: this.secondOptions = [] } // 清空二级选项的值 this.selectedSecond = '' } } } </script> ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值