Ich habe ein Formular, in dem ich zwei Eingabefelder deaktivieren oder ausblenden möchten, indem Sie ein Kontrollkästchen aktivieren. Ich kann es leicht tun, wenn es auf document.ready ist, aber da ich diese Felder angehängt habe, wird die Funktion nicht wirksam. Wie rufe ich die Funktion mit onClick auf?So rufen Sie eine Funktion vom Kontrollkästchen onclick oder onchange
Hier ist mein Arbeits Code
$(function() {
$(checkbox).click(function() {
if ($('#checkbox').is(':checked')) {
$('#appTimes').find('input').attr('disabled', true);
} else {
$('#appTimes').find('input').removeAttr('disabled');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="appTimes" id="appTimes">
<input name="stopTime1" type="text" id="stopTime1" />
<input name="stopTime12" type="text" id="stopTime12" />
</div>
<input name="checkbox" type="checkbox" id="checkbox" />
Und das ist, was ich zu tun versucht:
function boxDisable(e) {
$(this).click(function() {
if ($(this).is(':checked')) {
$(e).find('input').attr('disabled', true);
} else {
$(e).find('input').removeAttr('disabled');
}
});
}
<div class="appTimes" id="appTimes">
<input name="stopTime1" type="text" id="stopTime1" />
<input name="stopTime12" type="text" id="stopTime12" />
</div>
<input name="checkbox" onclick="boxdisable(appTimes);" type="checkbox" id="checkbox" />
--- BEARBEITEN --------------- Lassen Sie mich neu definieren: Mein Code verwendet. fügen Sie an, um mehrere Instanzen des obigen Codes zu erstellen. Da die Menge an Anhängen unbegrenzt ist, kann ich das Kontrollkästchen mit $('#id')
nicht definieren, weil es Hunderte von ihnen wie $('#id1')
, $('#id2')
usw. geben kann. Ich brauche eine Funktion, die die genaue Angabe der Element-IDs vermeidet, heißt onClick die Checkbox und Beeinflussung vor Kopf Div, die auch angehängt ist.
Ich bin ganz verwirrt auf, was Sie versuchen, hier zu tun, die var 'appTimes' ist nicht definiert ... Vielleicht meinen Sie' Onclick = "boxdisable (‘. AppTimes '); "'? –
keine Notwendigkeit für If/Else, verwenden Sie Prop, um zu setzen und zu deaktivieren deaktiviert, nicht attr/removeAttr, die eine boolesche $ (e) .find ('input'). Prop ('deaktiviert', $ something.is (': geprüft')); ' – Popnoodles
@Popnoodles danke –