js功能 需求是这样的要求有一个功能模块 模块内包含选项 包含一个单选项和input输入框 点击追加会追加一个单选项和input输入框 单选点击选中后联动页面单选 输入框内值为页面单选文本每个单选加输入框后面有一个删除按钮 点击删除会删除此单选项
时间: 2024-03-21 14:42:26 浏览: 107
自带删除功能的输入框——在登录,搜索等地方经常用到可以直接用
5星 · 资源好评率100%
好的,根据您的需求,可以按照以下步骤实现:
1. 定义一个数组,用于存储每个选项的数据。
2. 创建一个单选框和一个输入框,并将它们添加到一个 div 容器中。
3. 当单选框被选中时,获取其选中的值,并将其赋值给输入框。
4. 创建一个“追加”按钮,当点击时,动态添加一个新的单选框和输入框,并将它们添加到容器中。
5. 为每个单选框后面添加一个“删除”按钮,当点击时,从数组中删除该选项,并从容器中删除对应的单选框和输入框。
以下是一个简单的示例代码,供参考:
```html
<div id="options-container"></div>
<button id="add-option">追加</button>
<script>
var options = []; // 用于存储选项的数组
var container = document.getElementById('options-container');
var addBtn = document.getElementById('add-option');
// 创建一个选项
function createOption() {
var option = {
value: '',
element: null
};
// 创建单选框
var radio = document.createElement('input');
radio.type = 'radio';
radio.name = 'options';
radio.onchange = function() {
option.value = this.value;
option.element.nextSibling.value = this.value;
};
// 创建输入框
var input = document.createElement('input');
input.type = 'text';
// 创建删除按钮
var deleteBtn = document.createElement('button');
deleteBtn.innerText = '删除';
deleteBtn.onclick = function() {
var index = options.indexOf(option);
if (index !== -1) {
options.splice(index, 1);
container.removeChild(option.element);
}
};
// 将单选框、输入框和删除按钮添加到容器中
var div = document.createElement('div');
div.appendChild(radio);
div.appendChild(input);
div.appendChild(deleteBtn);
container.appendChild(div);
// 将选项添加到数组中
option.element = div;
options.push(option);
return option;
}
// 添加选项
addBtn.onclick = function() {
createOption();
};
</script>
```
注意,此示例仅包含基本功能,您可能需要根据实际需求进行修改和完善。
阅读全文