Så hvordan kan jeg tillate at en bruker bare velger én avkrysningsrute?
Jeg vet at radioknapper er "ideelle", men for mitt formål ... er det ikke det.
Jeg har et felt der brukerne må velge ett av de to alternativene, men ikke begge. Problemet er at brukerne mine også må kunne fjerne valget sitt, og det er her radioknapper mislykkes fordi når du velger gruppen, må du velge et alternativ.
Jeg vil validere informasjonen via php, men jeg vil fortsatt begrense brukerne til ett svar hvis de vil gi det.
Dette utdraget vil gjøre det:
// the selector will match all input controls of type :checkbox
// and attach a click event handler
$("input:checkbox").on('click', function() {
// in the handler, 'this' refers to the box clicked on
var $box = $(this);
if ($box.is(":checked")) {
// the name of the box is retrieved using the .attr() method
// as it is assumed and expected to be immutable
var group = "input:checkbox[name='" + $box.attr("name") + "']";
// the checked state of the group/box on the other hand will change
// and the current value is retrieved using .prop() method
$(group).prop("checked", false);
$box.prop("checked", true);
} else {
$box.prop("checked", false);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<h3>Fruits</h3>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />Kiwi</label>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />Jackfruit</label>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[1][]" />Mango</label>
</div>
<div>
<h3>Animals</h3>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />Tiger</label>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />Sloth</label>
<label>
<input type="checkbox" class="radio" value="1" name="fooby[2][]" />Cheetah</label>
</div>
$("#myform input:checkbox").change(function() {
$("#myform input:checkbox").attr("checked", false);
$(this).attr("checked", true);
});
Dette bør fungere for et hvilket som helst antall avmerkingsbokser i skjemaet. Hvis du har andre som ikke er en del av gruppen, setter du opp velgerne de aktuelle inndataene.