Da quello che posso dire leggendo tutto quello che riesco a trovare qui, questo non sembra possibile, ma ho pensato di chiedere.Ottenere il valore CURRENT di una casella di controllo onclick
Quello che voglio fare è impedire che una casella di controllo faccia la sua azione di commutazione predefinita ed esegua invece una funzione. Questa funzione deve conoscere le caselle di controllo Stato CORRENTE, in opposizione allo stato in cui si troverà dopo che l'evento click l'ha attivata e che deve essere disabilitato.
Quindi dire che ho questo ingresso ad esempio
<input type="checkbox" onclick="setDefault(this);return false;" />
E la funzione setDefault è qualcosa di simile
function setDefault(el) {
if(jQuery(el).is(':checked'))
{
alert('Turning current default off- setting default to Home settings');
jQuery(el).prop('checked',false);
return;
}
else
{
alert('setting a new default');
jQuery(el).prop('checked',false);
return;
}
}
Quando che corre ottiene lo stato della casella di controllo è stato cambiato in, considerando che tali cosa Ho bisogno che lo faccia sia di impedire che lo stato cambi, di scoprire il suo stato attuale e poi decidere cosa fare.
Ho provato tutte le combinazioni di preventDefault() e restituisco false Posso pensare sia alla funzione che all'evento onclick e ho provato a utilizzare l'evento onchange ecc., Ma niente sembra permettermi di chiamare una funzione che si attiva quando si fa clic sulla casella di controllo che consente alla funzione di ottenere il valore corrente della casella di controllo prima che venga modificata dall'evento click.
Probabilmente ho solo bisogno di ripensare questo, ma se c'è qualcosa ovvio ho perso sarei molto grato
Giusto, ok! Certo è un matto Hatterish! quindi l'ho aggiunto all'inizio della mia funzione: jQuery (el) .is (': checked')? jQuery (el) .prop ('checked', false): jQuery (el) .prop ('checked', true); - che sembra fare il trucco;) –
Felice di aiutare. Inoltre, solo FYI, se trovi una risposta o una domanda utile, o pensi che una risposta aggiunga informazioni utili, puoi anche votare per mostrare il tuo supporto. – cdeszaq
Fatto, mi dispiace, sono un po 'nuovo round qui: ~ –