Autor Zpráva
Jack06
Profil
Dobrý den, mám multiselect a smažím se někde najít, zda existuje v jquery něco, co by mi udělalo následující:
a) vybralo mi všechny možnosti (selected=selected)
b) odstranilo všechny výběry (nic nebude selected)
c) invertovalo mi výběr (když něco vyberu a kliknu na tlačítko invertovat, tak co nebylo vybrané se vybere a naopak... při opětném stisknutí to samé)

Děkuji
Radek Cvek
Profil
1<script language="JavaScript" type="text/javascript">
2function zatrhni()
3  {
4  elements = document.getElementsByTagName("input");
5    for (i=0; i<elements.length; i++)      
6      if (elements[i].className == 'mojafaja') elements[i].checked = true;      
7  }
8function vymaz()
9  {
10  elements = document.getElementsByTagName("input");
11    for (i=0; i<elements.length; i++)      
12      if (elements[i].className == 'mojafaja') elements[i].checked = false;      
13  }
14function invertuj()
15  {
16  elements = document.getElementsByTagName("input");
17    for (i=0; i<elements.length; i++)      
18      if (elements[i].className == 'mojafaja') 
19        if (elements[i].checked == true) elements[i].checked = false;
20        else elements[i].checked = true;     
21  }
22</script> 
23 
24 
25<input type="checkbox" class="mojafaja" name="f1" />
26<input type="checkbox" class="mojafaja" name="f2" />
27<input type="checkbox" class="mojafaja" name="f3" />
28 
29<a href="javascript: zatrhni();">Zatrhni všechny</a>
30<a href="javascript: vymaz();">Vymaž všechny</a>
31<a href="javascript: invertuj();">Invertuj všechny</a>
<script language="JavaScript" type="text/javascript">
function zatrhni()
  {
  elements = document.getElementsByTagName("input");
    for (i=0; i<elements.length; i++)      
      if (elements[i].className == 'mojafaja'elements[i].checked = true;      
  }
function vymaz()
  {
  elements = document.getElementsByTagName("input");
    for (i=0; i<elements.length; i++)      
      if (elements[i].className == 'mojafaja'elements[i].checked = false;      
  }
function invertuj()
  {
  elements = document.getElementsByTagName("input");
    for (i=0; i<elements.length; i++)      
      if (elements[i].className == 'mojafaja') 
        if (elements[i].checked == true) elements[i].checked = false;
        else elements[i].checked = true;     
  }
</script> 
 
 
<input type="checkbox" class="mojafaja" name="f1" />
<input type="checkbox" class="mojafaja" name="f2" />
<input type="checkbox" class="mojafaja" name="f3" />
 
<a href="javascript: zatrhni();">Zatrhni všechny</a>
<a href="javascript: vymaz();">Vymaž všechny</a>
<a href="javascript: invertuj();">Invertuj všechny</a>
ah01
Profil
Jack06:
Pokud máš na mysli <select> jde to třeba takhle:

Vybrat vše:
$("select option").attr("selected", true);
$("select option").attr("selected", true);

Zrušit vše:
$("select option").attr("selected", false);
$("select option").attr("selected", false);

Invertovat výběr:
$("select option").attr("selected", function(_, a) { this.selected = !a });
$("select option").attr("selected", function(_, a) { this.selected = !a });
Toto vlákno je staré, již dlouho do něj nikdo nepřispíval.

Informace a odkazy zde uváděné už nemusejí být aktuální. Nechcete-li řešit zde uvedenou konkrétní otázku, založte si vlastní vlákno, nepište do tohoto. Vložíte-li sem nyní příspěvek, upoutáte pozornost mnoha lidí a někteří z nich si jen kvůli vám přečtou i všechny předcházející příspěvky. Předpokládáte-li, že váš text skutečně bude hodnotný, stiskněte následující tlačítko:


Běda vám, jestli to bude blábol.

0