Javascript 如何在Villa JS中将输入框替换为下拉框
我试图用Vanilla JS替换输入框。目前,我正在使用jquery这样做Javascript 如何在Villa JS中将输入框替换为下拉框,javascript,Javascript,我试图用Vanilla JS替换输入框。目前,我正在使用jquery这样做 column.replaceWith("<select id='" + column[0].id + "' name='" + column[0].id + "' class='" + column[0].className + "'></select>"); 列。替换为(“”); 我正在将我所有的代码重构成Vanilla JS,这是我最不需要做的事情。我已经完成了document.creat
column.replaceWith("<select id='" + column[0].id + "' name='" + column[0].id + "' class='" + column[0].className + "'></select>");
列。替换为(“”);
我正在将我所有的代码重构成Vanilla JS,这是我最不需要做的事情。我已经完成了document.createElement('select');这就创建了
元素。然后我试着去做
newEl.innerHTML += '<select id="selBidReceivedIsPM" name="selBidReceivedIsPM">'
+ '<option value="0">AM</option>'
+ '<option value="1">PM</option>';
newEl.innerHTML+=''
+“AM”
+"下午",;
,,
但这不会创建id或名称。在过去的3个小时里,我一直在谷歌上搜索和尝试,需要一些帮助来解决这个问题
html:
类似的东西应该可以用来创建带有value和innerHTML选项的select
var select=document.createElement('select');
select.id=“selBidReceivedIsPM”
select.name=“selBidReceivedIsPM”
var=2;
变量时间=[“上午”、“下午”];
对于(var i=0;i这样的东西应该可以创建带有value和innerHTML选项的select
var select=document.createElement('select');
select.id=“selBidReceivedIsPM”
select.name=“selBidReceivedIsPM”
var=2;
变量时间=[“上午”、“下午”];
对于(var i=0;i我认为,如果DOM
元素不是由javascript
创建的,而是呈现的,那么您不能“删除”它(在您的情况下,input type=“number”…
)
您可以通过“隐藏”input
并将select
元素放置在“his”位置来“替换”它
有一个例子,试试看:
函数replacele(){
var txt=document.getElementById('columnA5');
/*
或者您可以使用querySelectorAll:
var txt=document.querySelectorAll('input[type=“number”]”);
然后你们将得到页面中的所有文本框,然后你们必须使用for循环
*/
var sel=document.createElement('select');//创建select元素
sel.id='selBidReceivedIsPM';
sel.setAttribute('onchange','alert(this.value');
/*显示所选值,或者输入一些JS
功能,当选项被更改时该怎么办*/
var opt=document.createElement('option');//创建选项元素
opt.value=0;opt.innerHTML='AM';
sel.appendChild(opt);//将option元素添加到select元素中
opt=document.createElement('option');
opt.value=1;opt.innerHTML='PM';
选择附加儿童(opt);
sel.selectedIndex=0;//设置默认选定值
txt.style.display='none';//隐藏输入元素
txt.parentNode.insertBefore(sel,txt);//在输入之前插入select元素,
}
我认为,如果DOM
元素不是由javascript
创建的,而是呈现的,那么您不能“删除”它(在您的例子中,input type=“number”…
)
您可以通过“隐藏”input
并将select
元素放置在“his”位置来“替换”它
有一个例子,试试看:
函数replacele(){
var txt=document.getElementById('columnA5');
/*
或者您可以使用querySelectorAll:
var txt=document.querySelectorAll('input[type=“number”]”);
然后你们将得到页面中的所有文本框,然后你们必须使用for循环
*/
var sel=document.createElement('select');//创建select元素
sel.id='selBidReceivedIsPM';
sel.setAttribute('onchange','alert(this.value');
/*显示所选值,或者输入一些JS
功能,当选项被更改时该怎么办*/
var opt=document.createElement('option');//创建选项元素
opt.value=0;opt.innerHTML='AM';
sel.appendChild(opt);//将option元素添加到select元素中
opt=document.createElement('option');
opt.value=1;opt.innerHTML='PM';
选择附加儿童(opt);
sel.selectedIndex=0;//设置默认选定值
txt.style.display='none';//隐藏输入元素
txt.parentNode.insertBefore(sel,txt);//在输入之前插入select元素,
}
您可以添加HTML和完整脚本吗?您可以添加HTML和完整脚本吗?
<label for="columnA5"></label>
<input
type="number"
id="columnA5"
name="columnA5"
class="columnA"
step="any"
>