【发布时间】:2017-08-12 14:23:46
【问题描述】:
onchange 如何删除和添加新元素?我希望为每个选项创建新元素并删除其他元素(如果存在),https://codepen.io/Datik/pen/Bddmrv
每个选项都有自己的需要在表单上显示的元素“列表”
例如: 选项标准将仅显示输入类型='文本'
选项 VIP 将显示输入并选择
现在,它只是在我选择选项时创建新元素,尝试检查 childNodes.length,没有帮助
document.addEventListener('DOMContentLoaded',function() {
document.querySelector('select[name="productType"]').onchange=changeEventHandler;},false);
function changeEventHandler(event) {
var getSelect = document.getElementById('product');
var newInput = document.createElement('input');
var newSelect = document.createElement('select');
newInput.setAttribute('type','text');
newInput.setAttribute('placeholder','title');
if(event.target.value=='Standard'){
// if(getSelect.childNodes.length>0){
// getSelect.removeChild(newInput);
// }
getSelect.parentNode.appendChild(newInput);
}
else if(event.target.value=='VIP'){
getSelect.parentNode.appendChild(newInput);
getSelect.parentNode.appendChild(newSelect);
}
else{
getSelect.removeChild(newInput);//tried to delete 1 input if choose 1st option
}
}
【问题讨论】:
标签: javascript dom