<select name="leixing" > <option value="-1">请选择</option> <option value="0">增加</option> <option value="1">减少</option> </select>, <select name="fangshi"> <option value="-1">请选择</option> <option value="0">自建</option> <option value="1">投资</option> <option value="2">出租</option> </select>如何实现点击左边显示右边不同的内容
时间: 2023-08-14 17:22:57 浏览: 122
您可以使用 JavaScript 监听左边 select 的 onchange 事件,当左边 select 的值发生变化时,根据其选中的值动态生成右边 select 的 option。具体实现可以通过以下步骤:
1. 给左边的 select 添加 onchange 事件监听器,当 select 的值发生变化时触发事件。
2. 通过 JavaScript 获取左边 select 选中的值。
3. 根据左边 select 选中的值动态生成右边 select 的 option。
4. 将生成的 option 添加到右边 select 中。
代码示例:
HTML:
```html
<select name="leixing" onchange="changeFangshi()">
<option value="-1">请选择</option>
<option value="0">增加</option>
<option value="1">减少</option>
</select>
<select name="fangshi" id="select-fangshi">
<option value="-1">请选择</option>
</select>
```
JavaScript:
```javascript
function changeFangshi() {
const leixingSelect = document.querySelector('select[name="leixing"]');
const fangshiSelect = document.querySelector('#select-fangshi');
const leixingValue = leixingSelect.value;
// 清空右边 select 的 option
fangshiSelect.innerHTML = '';
if (leixingValue === '0') {
// 如果左边 select 的值为 "增加",则生成 2 个 option
const options = [
{ value: '0', text: '自建' },
{ value: '1', text: '投资' },
];
options.forEach(option => {
const { value, text } = option;
const optionElem = document.createElement('option');
optionElem.value = value;
optionElem.textContent = text;
fangshiSelect.appendChild(optionElem);
});
} else if (leixingValue === '1') {
// 如果左边 select 的值为 "减少",则生成 1 个 option
const optionElem = document.createElement('option');
optionElem.value = '2';
optionElem.textContent = '出租';
fangshiSelect.appendChild(optionElem);
}
}
```
阅读全文