如何在点击时显示 Select 输入
How to make a Select Input appear on click
我不知道我在标题中表达的是否正确,但我有以下疑问。
ideia 是 table 用户请求。 table 有静态文本。当用户单击按钮 'Editar (Edit)' 时,他单击的行上的字段将转换为 Select 输入。当用户 select 他需要的输入值时,他将单击“保存”,字段将再次变为静态值 selected。我知道如何保存 Select 输入的值,但我不知道如何在用户单击 'Editar (Edit)'
时显示 Select 输入
这是将用户在 Select 输入中选择的值转换为字符串的代码:
let teste2 = document.getElementsByClassName('selectTotal')[0]
let teste3 = document.getElementsByTagName('td')[2]
let teste1 = document.getElementsByClassName('selectTotal')[0].value
let teste1tam = document.getElementsByClassName('selectTotal').length
let m = document.getElementsByClassName('editar')
let mar = document.getElementsByClassName('editar').length
for(i = 0; i<mar; i++){
m[i].addEventListener("click", function(event){
if(document.getElementsByClassName('selectTotal')[0].value == 'Liberação de Acesso'){
teste2.value = 'Liberação de Acesso'
teste3.innerHTML = 'Liberação de Acesso'
} else if (document.getElementsByClassName('selectTotal')[0].value == 'Sistema Lento'){
teste2.value = 'Sistema Lento'
teste3.innerHTML = 'Sistema Lento'
} else if (document.getElementsByClassName('selectTotal')[0].value == 'Problema'){
teste2.value = 'Problema'
teste3.innerHTML = 'Problema'
}
})
}
这是HTML table:
<tr>
<td scope="row" class='zeroCol'>1</td>
<td class='primeiraCol'>teste</td>
<td class='segundaCol'>
<label for="setorSelect"></label>
<select name="urgencias" id="setorSelect" class='selectTotal'>
<option value="Liberação de Acesso">Liberação de Acesso</option>
<option value="Sistema Lento">Sistema Lento</option>
<option value="Problema">Problema</option>
</select>
</td>
<td class='terceiraCol'>teste</td>
<td class='quartaCol'>
<label for="tipoSelect"></label>
<select name="urgencias" id="tipoSelect" class='selectTotal'>
<option value="Liberação de Acesso">Liberação de Acesso</option>
<option value="Sistema Lento">Sistema Lento</option>
<option value="Problema">Problema</option>
</select>
</td>
<td class='quintaCol'>Aberto</td>
<td class='sextaCol'></td>
<td class='setimaCol'>uuuuu</td>
<td class='oitavaCol'><textarea name="name" rows="2" cols="40"
readonly>Salvar Chat dia José Pode fazer o favor de verificar para liberar o acesso da pasta PCP no computador do lider André . precisa de alguma liberação do Diego ? Att Sabrina</textarea>
</td>
<td class='nonaCol'>
<button type="button" class="btn btn-success acoes-botao">Salvar</button>
<button type="button" class="btn btn-success acoes-botao">Chat</button>
<button type="button" class="btn btn-success acoes-botao editar">Editar</button>
<button type="button" class="btn btn-danger acoes-botao">Aprovação</button>
</td>
</tr>
是这样的吗?
function save() {
document.getElementById("setorSelect").disabled = true;
document.getElementById("tipoSelect").disabled = true;
}
function edit() {
document.getElementById("setorSelect").disabled = false;
document.getElementById("tipoSelect").disabled = false;
}
您当然可以将 spans/labels/whatever 切换为 select 秒,但这几乎可以解决问题,无需太多工作。一点点 CSS 让它看起来不像残疾人 select,你就完成了。你也可以迭代那些 selects 并禁用它们(如果你要添加更多的话很方便)。
这是一个例子 fiddle:https://jsfiddle.net/TokerX/q4st938e/
如果您真的想为 select 切换标签,反之亦然:
function save() {
document.getElementById("setorSelectLabel").innerHTML = document.getElementById("setorSelect").value;
document.getElementById("tipoSelectLabel").innerHTML = document.getElementById("tipoSelect").value;
document.getElementById("setorSelect").classList.add("hidden");
document.getElementById("setorSelectLabel").classList.remove("hidden");
document.getElementById("tipoSelect").classList.add("hidden");
document.getElementById("tipoSelectLabel").classList.remove("hidden");
}
function edit() {
document.getElementById("setorSelect").classList.remove("hidden");
document.getElementById("setorSelectLabel").classList.add("hidden");
document.getElementById("tipoSelect").classList.remove("hidden");
document.getElementById("tipoSelectLabel").classList.add("hidden");
}
已更新 fiddle:https://jsfiddle.net/TokerX/q4st938e/1/
我不知道我在标题中表达的是否正确,但我有以下疑问。
ideia 是 table 用户请求。 table 有静态文本。当用户单击按钮 'Editar (Edit)' 时,他单击的行上的字段将转换为 Select 输入。当用户 select 他需要的输入值时,他将单击“保存”,字段将再次变为静态值 selected。我知道如何保存 Select 输入的值,但我不知道如何在用户单击 'Editar (Edit)'
时显示 Select 输入这是将用户在 Select 输入中选择的值转换为字符串的代码:
let teste2 = document.getElementsByClassName('selectTotal')[0]
let teste3 = document.getElementsByTagName('td')[2]
let teste1 = document.getElementsByClassName('selectTotal')[0].value
let teste1tam = document.getElementsByClassName('selectTotal').length
let m = document.getElementsByClassName('editar')
let mar = document.getElementsByClassName('editar').length
for(i = 0; i<mar; i++){
m[i].addEventListener("click", function(event){
if(document.getElementsByClassName('selectTotal')[0].value == 'Liberação de Acesso'){
teste2.value = 'Liberação de Acesso'
teste3.innerHTML = 'Liberação de Acesso'
} else if (document.getElementsByClassName('selectTotal')[0].value == 'Sistema Lento'){
teste2.value = 'Sistema Lento'
teste3.innerHTML = 'Sistema Lento'
} else if (document.getElementsByClassName('selectTotal')[0].value == 'Problema'){
teste2.value = 'Problema'
teste3.innerHTML = 'Problema'
}
})
}
这是HTML table:
<tr>
<td scope="row" class='zeroCol'>1</td>
<td class='primeiraCol'>teste</td>
<td class='segundaCol'>
<label for="setorSelect"></label>
<select name="urgencias" id="setorSelect" class='selectTotal'>
<option value="Liberação de Acesso">Liberação de Acesso</option>
<option value="Sistema Lento">Sistema Lento</option>
<option value="Problema">Problema</option>
</select>
</td>
<td class='terceiraCol'>teste</td>
<td class='quartaCol'>
<label for="tipoSelect"></label>
<select name="urgencias" id="tipoSelect" class='selectTotal'>
<option value="Liberação de Acesso">Liberação de Acesso</option>
<option value="Sistema Lento">Sistema Lento</option>
<option value="Problema">Problema</option>
</select>
</td>
<td class='quintaCol'>Aberto</td>
<td class='sextaCol'></td>
<td class='setimaCol'>uuuuu</td>
<td class='oitavaCol'><textarea name="name" rows="2" cols="40"
readonly>Salvar Chat dia José Pode fazer o favor de verificar para liberar o acesso da pasta PCP no computador do lider André . precisa de alguma liberação do Diego ? Att Sabrina</textarea>
</td>
<td class='nonaCol'>
<button type="button" class="btn btn-success acoes-botao">Salvar</button>
<button type="button" class="btn btn-success acoes-botao">Chat</button>
<button type="button" class="btn btn-success acoes-botao editar">Editar</button>
<button type="button" class="btn btn-danger acoes-botao">Aprovação</button>
</td>
</tr>
是这样的吗?
function save() {
document.getElementById("setorSelect").disabled = true;
document.getElementById("tipoSelect").disabled = true;
}
function edit() {
document.getElementById("setorSelect").disabled = false;
document.getElementById("tipoSelect").disabled = false;
}
您当然可以将 spans/labels/whatever 切换为 select 秒,但这几乎可以解决问题,无需太多工作。一点点 CSS 让它看起来不像残疾人 select,你就完成了。你也可以迭代那些 selects 并禁用它们(如果你要添加更多的话很方便)。
这是一个例子 fiddle:https://jsfiddle.net/TokerX/q4st938e/
如果您真的想为 select 切换标签,反之亦然:
function save() {
document.getElementById("setorSelectLabel").innerHTML = document.getElementById("setorSelect").value;
document.getElementById("tipoSelectLabel").innerHTML = document.getElementById("tipoSelect").value;
document.getElementById("setorSelect").classList.add("hidden");
document.getElementById("setorSelectLabel").classList.remove("hidden");
document.getElementById("tipoSelect").classList.add("hidden");
document.getElementById("tipoSelectLabel").classList.remove("hidden");
}
function edit() {
document.getElementById("setorSelect").classList.remove("hidden");
document.getElementById("setorSelectLabel").classList.add("hidden");
document.getElementById("tipoSelect").classList.remove("hidden");
document.getElementById("tipoSelectLabel").classList.add("hidden");
}
已更新 fiddle:https://jsfiddle.net/TokerX/q4st938e/1/