Je me bats pour obtenir ce que je pense devrait être un peu de jquery/javascript pour fonctionner. J'ai une zone de texte et 2 la radio est comme pour que je veux mettre à jour automatiquement la zone de texte « total » lorsqu'un utilisateur modifie leurs valeurs:Comment mettre à jour une zone de texte 'totale' à partir des valeurs dans une autre zone de texte et des radios avec Jquery
<tr>
<td>Value:</td>
<td>
<input name="value" type="text" id="value" />
</td>
</tr>
<tr>
<td>Postage:</td>
<td>
<input id="express" type="radio" name="postageradio" value="PostageExpressRadio" />
Express post ($3.50)
<input id="registered" type="radio" name="postageradio" value="PostageRegisteredRadio" />
Registered post ($5.00)
</td>
</tr>
<tr>
<td>Total:</td>
<td colspan="2">
<input name="total" type="text" readonly="readonly" id="total" />
</td>
</tr>
est ici le peu de jquery je suis venu avec, qui doesn 't fonctionne très bien dans Chrome (il est lent à mettre à jour), et ne fonctionne pas du tout avec les radios dans IE. Je suis sûr qu'il y a une meilleure façon de le faire, donc toutes les suggestions sont les bienvenues.
function calctotal() {
var value = $('#value').val();
var amount = parseInt(value.replace(' ', '').replace('$', ''));
if (isNaN(amount)) amount = 0;
var post = 0;
if ($('#express').is(':checked')) post = 3.5;
if ($('#registered').is(':checked')) post = 5.0;
$('#total').val('$' + (amount + post).toFixed(2));
}
// The timeout is used because otherwise the 'change' events get the previous value (???)
function calctotalsoon() {
setTimeout(function() {
calctotal();
}, 100);
}
$(document).ready(function() {
$('#value').keyup(function(event) {
calctotalsoon();
});
$('#express').change(function(event) {
calctotalsoon();
});
$('#registered').change(function(event) {
calctotalsoon();
});
});
Merci beaucoup
semble fonctionner correctement dans Chrome et IE8 pour moi. Quelle version de jQuery utilisez-vous? –
Trouvé plus de détails sur pourquoi les radios ne se déclenchent pas dans IE: http://norman.walsh.name/2009/03/24/jQueryIE – Chris
En utilisant IE9 et Jquery 1.4.1 – Chris