2016-04-21 12 views
-2

Ich frage mich, ob es eine Möglichkeit gibt, bestimmte Kästchen basierend auf dem Wert aus einer Dropdown-Auswahl automatisch zu überprüfen. Ich habe für immer gesucht und ich kann scheinen, nur Wege zu finden, Checkboxen zu zeigen oder zu verstecken, die auf Dropdown basieren, aber das ist nicht, was ich suche.check checkbox basierend auf dropdown

+1

haben Sie etwas versuchen? Es ist nicht so schwer. –

+1

Sie müssen Ihre Frage besser erklären. Es ist sowohl mit PHP als auch mit JavaScript getaggt, also was ist es? Möchten Sie ein Drop-down-Menü verwenden, um die Werte von Kontrollkästchen auf derselben Seite mit JavaScript zu ändern, oder möchten Sie den Wert von Kontrollkästchen auf einer neuen Seite nach dem Senden eines Formulars ändern? Was hast du bisher versucht? – Chris

+0

Ja, ich habe viele verschiedene Dinge ausprobiert und alle funktionieren entweder nicht oder verstecken die Checkbox alle zusammen. – Kevin

Antwort

2

Sie können dies ganz einfach mit jQuery tun. Dieser Code überwacht ein Änderungsereignis aus einem Dropdown mit id="dropdown" und aktiviert das Kontrollkästchen mit id="checkbox", wenn der Dropdown-Text gleich 'foo' war.

$("#dropdown").change(function() { 
    if($('#dropdown :selected').text() === 'foo') $('#checkbox').prop('checked', true); 
}); 

Wenn Sie das Kästchen deaktivieren möchten, wenn die Auswahl geändert wird wieder so etwas wie dies könnte besser sein:

$("#dropdown").change(function() { 
    var text = $('#dropdown :selected').text(); 
    $('#checkbox').prop('checked', text === 'foo'); 
}); 

Fiddle

+0

Problem ist, wenn ich 5 Checkboxen habe .... und 3 Drop-Down-Werte ... Wenn Drop-Down-1 ist Kontrollkästchen 1, 3, 5 ... Wenn Dropdown-2 markiert Kontrollkästchen 2,3,5 und so on ... – Kevin

+0

Kann ich $ ('# checkbox', '# checkbox2') machen. prop ('checked', true); Grundsätzlich kann ich es so machen, dass mehr als eine ID basierend auf diesem Wert geprüft wird? – Kevin

+0

Ja! Genau. Ich habe die Geige aktualisiert, um das zu zeigen. (etwas andere Syntax im Selektor) – IrkenInvader

0

Dies sollte das tun, was Sie für Fragen. Ich hoffe es hilft!

function setCheckBox(value){ 
 
    var chk = document.getElementById('check1'); 
 
    chk.checked = (value != 'null'); 
 
}
<table> 
 
    <tr> 
 
     <td> 
 
      <input type="checkbox" name="check1" id="check1"/>Test 1:</td> 
 
     <td> 
 
      <select id="process1" onchange="setCheckBox(this.value);"> 
 
       <option value="null">--Select Option--</option> 
 
       <option value="OptionA">Option A</option> 
 
       <option value="OptionB">Option B</option> 
 
       <option value="OptionB">Option C</option> 
 
      </select> 
 
     </td> 
 
    </tr> 
 
</table>

0

Nicht sicher Ihre Besonderheiten, aber das tut, was Sie gefragt, und Sie sollten Teile davon übernehmen können Ihre Aufgabe abzuschließen.

document.getElementById('changer').onchange = function(){ 
 
    var boxes = document.querySelectorAll('input[type="checkbox"]'); 
 
    for(var i=0;i<boxes.length;i++) 
 
    { 
 
    \t boxes[i].checked = boxes[i].id == this.value; 
 
    } 
 
};
<select id='changer'> 
 
    <option>None</option> 
 
    <option value='a'>A</option> 
 
    <option value='b'>B</option> 
 
    <option value='c'>C</option> 
 
    <option value='d'>D</option> 
 
</select> 
 
<br /> 
 
<input type='checkbox' id='a' /><label for='a'>A</label><br /> 
 
<input type='checkbox' id='b' /><label for='a'>B</label><br /> 
 
<input type='checkbox' id='c' /><label for='a'>C</label><br /> 
 
<input type='checkbox' id='d' /><label for='a'>D</label>

Verwandte Themen