webForumDet fria alternativet

checkboxar -> fylla i

JavaScriptur Javascript

14 svar · 353 visningar · startad av Jymdis

Medlem sedan mars 20016 260 inlägg
Frågan#1

Hej!

Har ca 31 checkboxar som har namn 2004-03-01 > 2004-03-31. Jag vill med en checkbox att alla dessa ska fyllas i. Dock är där fler checkboxar på sidan så jag vill bara att alla med 03 på just 2004-xx-01 stället kryssas i.

Nåt som vet hur?

Medlem sedan sep. 20021 655 inlägg
#2

Dock är där fler checkboxar på sidan så jag vill bara att alla med 03 på just 2004-xx-01 stället kryssas i.

Que?

Vill du att endast checkboxar med namn i serien "2004-03-01" till "2004-03-31" ska fyllas i?

Medlem sedan mars 20016 260 inlägg
#3

Exempelvis ja :)
Det viktiga är att alla checkboxar som har 03 på position 6 till 7 bytas ut så att säga.
Det ska gärna vara dynamiskt så jag kan göra så på flera olika månader så att säga :)

Medlem sedan sep. 20021 655 inlägg
#4
<script type="text/javascript">
function setAllChecked(toCheck, monthStr){
    var inputs = document.getElementsByTagName("INPUT");

    for(var i=0; i<inputs.length; i++){
        if(inputs[i].name && inputs[i].name.substr(5,2) == monthStr)
            inputs[i].checked = toCheck;
    }
}
</script>

...

<form>

  <p>
    <label>
    <input type="checkbox" onclick="setAllChecked(this.checked, '03')" />
    Markera samtliga
    </label>
  </p>

  <p>
    <input type="checkbox" name="2003-03-01" /> Ja<br />
    <input type="checkbox" name="2003-03-02" /> Ja<br />
    <input type="checkbox" name="2003-03-03" /> Ja<br />
    <input type="checkbox" name="2003-04-01" /> Nej<br />
    <input type="checkbox" name="2003-04-02" /> Nej<br />
    <input type="checkbox" /> Nej<br />
    <input type="checkbox" name="kallejohansson" /> Nej
  </p>
</form>
Medlem sedan mars 20016 260 inlägg
#5

Funkar perfa tack! Vågar man nu fråga om det går att göra med dropdown menyer?
Samma sak med att alla i en serie ska ändras, till samma värde som en har.

Medlem sedan sep. 20021 655 inlägg
#6

Kan du visa hur select-menyerna ser ut, så blir det lättare.

Medlem sedan mars 20016 260 inlägg
#7

Sure thing!

<select name='2004-04-01'>
<option>0</option>
<option selected>1</option>
<option >2</option>
<option >3</option>
<option >4</option>
<option >5</option>
<option >6</option>
<option >7</option>
<option >8</option>
<option >9</option>
<option >10</option>
<option >11</option>
<option >12</option>
<option >13</option>
<option >14</option>
<option >15</option>
</select>
Medlem sedan dec. 20025 483 inlägg
#8

Om vi fortsätter på dectgaps kod:

<script type="text/javascript">
function setAllChecked(toSelect, monthStr, value){
    var selects = document.getElementsByTagName("SELECT");

    for(var i=0; i<selects.length; i++){
        if(selects[i].name && selects[i].name.substr(5,2) == monthStr)
            selects[i].options[value].selected = toSelect;
    }
}
</script>

...

<form>

  <p>
    <label>
    <input type="checkbox" onclick="setAllChecked(this.checked, '03', 13)" />
    Markera samtliga
    </label>
  </p>

  <p>
    <select name='2003-03-01'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2003-03-02'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2003-03-03'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2004-04-01'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select name='2004-04-02'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select name='kallejohansson'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej
  </p>
</form>

?

:)

Medlem sedan mars 20016 260 inlägg
#9

Nästan, det var motsvarande värde i en select box - inte checkbox =) En select box ska styra många alltså :)

Medlem sedan apr. 2004778 inlägg
#10

Skulle vara intressant om du förklarade lite närmare vad du är ute efter och vad du gör.

Medlem sedan mars 20016 260 inlägg
#11

PDahlen:
kan jag tyvärr inte göra.

Medlem sedan sep. 20021 655 inlägg
#12

Jymdis skrev:

Nästan, det var motsvarande värde i en select box - inte checkbox =) En select box ska styra många alltså :)

Så om man väljer det femte alternativet i den styrande menyn så ska det femte alternativet i alla understyrda menyer väljas?
Finns det i så fall alltid lika många alternativ i de olika menyerna, så man inte försöker välja ett alternativ oms inte finns?

Medlem sedan mars 20016 260 inlägg
#13

dectgap:
precis så, det finns alltid lika många alternativ och rätt angående styrande menyn. men det ska bara påverka dom som har månad tre fortfarande (exempelvis)

Medlem sedan sep. 20021 655 inlägg
#14

Då fortsätter jag på Peter S kod :)

<script type="text/javascript">
function setSelects(toSelect, monthStr){
    var selects = document.getElementsByTagName("SELECT");

    for(var i=0; i<selects.length; i++){
        if(selects[i].name && selects[i].name.substr(5,2) == monthStr)
            selects[i].options[toSelect].selected = true;
    }
}
</script>

...

<form>

  <p>
    <label>
    <select name='2003-03-01' onchange="setSelects(this.selectedIndex, '03')">
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select>
    Markera samtliga
    </label>
  </p>

  <p>
    <select name='2003-03-01'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2003-03-02'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2003-03-03'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Ja<br />
    <select name='2004-04-01'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select name='2004-04-02'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej<br />
    <select name='kallejohansson'>
	<option>0</option>
	<option selected>1</option>
	<option >2</option>
	<option >3</option>
	<option >4</option>
	<option >5</option>
	<option >6</option>
	<option >7</option>
	<option >8</option>
	<option >9</option>
	<option >10</option>
	<option >11</option>
	<option >12</option>
	<option >13</option>
	<option >14</option>
	<option >15</option>
	</select> Nej
  </p>
</form>
Medlem sedan mars 20016 260 inlägg
#15

Tackar så mycket dectgap, du har varit oväderlig!

143 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)