选择多个:如何选择/取消选择(Javascript)
1) 我没有Javascript知识 2) 我使用的是select2(多选)引导表单。 3) 如果单击相应组的一个选项,我想取消选择组的其他选项 3.1)例如:如果选择了选项值“2”和“6”,然后单击选项“1”和“5”,则应自动取消选择选项“2”和“6” 谢谢选择多个:如何选择/取消选择(Javascript),javascript,Javascript,1) 我没有Javascript知识 2) 我使用的是select2(多选)引导表单。 3) 如果单击相应组的一个选项,我想取消选择组的其他选项 3.1)例如:如果选择了选项值“2”和“6”,然后单击选项“1”和“5”,则应自动取消选择选项“2”和“6” 谢谢 过滤器 国际广播公司 国际广播公司 IBC_NAO IBC_Nao_Mostrar 克罗特 克罗特辛 克罗特诺 克罗特纳奥莫斯特拉尔酒店 它对我很管用。如果您选中不同类别中的多个选项,它会自动取消选择其他类别中的其他选项。注意:当用户
过滤器
国际广播公司
国际广播公司
IBC_NAO
IBC_Nao_Mostrar
克罗特
克罗特辛
克罗特诺
克罗特纳奥莫斯特拉尔酒店
它对我很管用。如果您选中不同类别中的多个选项,它会自动取消选择其他类别中的其他选项。注意:当用户使用
SHIFT
键时,该选项不起作用<div align = "center" class="form-group">
<label>Filtros</label>
<select name ="Filtros" id = "Filtros" class="form-control select2" multiple="multiple" data-placeholder="Selecione os Filtros"
style="width: 100%;">
<optgroup label="IBC" parent="1">
<option value="1" childof="1">IBC_ALL</option>
<option value="2" childof="1">IBC_SIM</option>
<option value="3" childof="1">IBC_NAO</option>
<option value="4" childof="1">IBC_Nao_Mostrar</option>
<optgroup label="CROT" parent="2">
<option value="5" childof="2">CROT_ALL</option>
<option value="6" childof="2">CROT_SIM</option>
<option value="7" childof="2">CROT_NAO</option>
<option value="8" childof="2">CROT_Nao_Mostrar</option>
</select>
</div>
<script>
var selected = {
1:[],
2:[]
}
var last_selected = 1;
document.getElementById('Filtros').addEventListener('click',function(e){
var parent = e.target.getAttribute('childof');
if( e.target.selected )
{
selected[parent].push(e.target);
for( var i=0; i < selected[parent].length; i++ )
{
var elem = selected[parent][i];
if(!elem.selected)
selected[parent].splice(i,1);
}
if( parent != last_selected )
{
for( var i=0; i < selected[last_selected].length; i++ )
{
var elem = selected[last_selected][i];
elem.selected = false;
}
}
last_selected = parent;
}
});
</script>
过滤器
国际广播公司
国际广播公司
IBC_NAO
IBC_Nao_Mostrar
克罗特
克罗特辛
克罗特诺
克罗特纳奥莫斯特拉尔酒店
所选变量={
1:[],
2:[]
}
var last_selected=1;
document.getElementById('Filtros')。addEventListener('click',函数(e){
var parent=e.target.getAttribute('childof');
如果(如选择目标)
{
选择[parent]。推送(e.target);
对于(变量i=0;i<所选[parent]。长度;i++)
{
var elem=所选的[母公司][i];
如果(!元素已选定)
选择[parent]。拼接(i,1);
}
如果(父项!=上次选中)
{
对于(变量i=0;i
它对我很管用。如果您选中不同类别中的多个选项,它会自动取消选择其他类别中的其他选项。注意:当用户使用
SHIFT
键时,该选项不起作用<div align = "center" class="form-group">
<label>Filtros</label>
<select name ="Filtros" id = "Filtros" class="form-control select2" multiple="multiple" data-placeholder="Selecione os Filtros"
style="width: 100%;">
<optgroup label="IBC" parent="1">
<option value="1" childof="1">IBC_ALL</option>
<option value="2" childof="1">IBC_SIM</option>
<option value="3" childof="1">IBC_NAO</option>
<option value="4" childof="1">IBC_Nao_Mostrar</option>
<optgroup label="CROT" parent="2">
<option value="5" childof="2">CROT_ALL</option>
<option value="6" childof="2">CROT_SIM</option>
<option value="7" childof="2">CROT_NAO</option>
<option value="8" childof="2">CROT_Nao_Mostrar</option>
</select>
</div>
<script>
var selected = {
1:[],
2:[]
}
var last_selected = 1;
document.getElementById('Filtros').addEventListener('click',function(e){
var parent = e.target.getAttribute('childof');
if( e.target.selected )
{
selected[parent].push(e.target);
for( var i=0; i < selected[parent].length; i++ )
{
var elem = selected[parent][i];
if(!elem.selected)
selected[parent].splice(i,1);
}
if( parent != last_selected )
{
for( var i=0; i < selected[last_selected].length; i++ )
{
var elem = selected[last_selected][i];
elem.selected = false;
}
}
last_selected = parent;
}
});
</script>
过滤器
国际广播公司
国际广播公司
IBC_NAO
IBC_Nao_Mostrar
克罗特
克罗特辛
克罗特诺
克罗特纳奥莫斯特拉尔酒店
所选变量={
1:[],
2:[]
}
var last_selected=1;
document.getElementById('Filtros')。addEventListener('click',函数(e){
var parent=e.target.getAttribute('childof');
如果(如选择目标)
{
选择[parent]。推送(e.target);
对于(变量i=0;i<所选[parent]。长度;i++)
{
var elem=所选的[母公司][i];
如果(!元素已选定)
选择[parent]。拼接(i,1);
}
如果(父项!=上次选中)
{
对于(变量i=0;i
这不需要JavaScript。这取决于用户类型。要选择倍数,必须按住CTRL
或SHIFT
。因此,如果我以前选择了2和6,现在想忘记它们,选择1和5,我只需按1(不按其他键)然后按住CTRL
并按5。您无需使用HTML标记问题,因为大多数格式选项可以使用工具栏或只需按ENTER键即可完成。谢谢您的回复。1) 我使用的是第一个多选择表单引导:。2) 它不像普通的多选表单那样,我们按住CTRL键来选择选项。没关系。选择选项由用户完成。这不需要JavaScript。这取决于用户类型。要选择倍数,必须按住CTRL
或SHIFT
。因此,如果我以前选择了2和6,现在想忘记它们,选择1和5,我只需按1(不按其他键)然后按住CTRL
并按5。您无需使用HTML标记问题,因为大多数格式选项可以使用工具栏或只需按ENTER键即可完成。谢谢您的回复。1) 我使用的是第一个多选择表单引导:。2) 它不像普通的多选表单那样,我们按住CTRL键来选择选项。没关系。选择选项由用户完成。