J'ai un problème avec ce code jquery ci-dessous. S'il vous plaît donnez-moi des conseils ou du code si vous pouvez aiderjquery pays sélectionner quand le pays est déjà enregistré?
J'ai donc une liste déroulante de pays, une liste déroulante d'état pour les Etats-Unis, et un champ de saisie d'état pour les utilisateurs non-USA.
Lorsque vous sélectionnez USA dans la liste des pays, il cache le champ othstate, lorsque vous sélectionnez un pays autre que les États-Unis, il cache la statelist Etats-Unis et montre le champ de saisie
Jusqu'à présent, si bien, est maintenant ici où le problème vient, ce code fonctionne très bien pour un formulaire d'inscription, mais pas pour l'édition d'un emplacement des utilisateurs.
Lorsqu'un utilisateur a déjà sauvegardé ces données dans mysql/php lorsqu'il visite la page d'édition, cela ne fonctionnera pas très bien. Une solution que je pensais est d'avoir 2 fonctions javascript et utiliser PHP pour analyser la bonne en fonction de leur pays, qui traite de la question s'ils ont d'autres pays puis les Etats-Unis sauvés, il chargerait avec l'Angleterre sélectionnée mais montrerait USA états à la place du champ d'entrée d'état et vice.
Il y a encore 1 problème majeur cependant. Si vous sélectionnez un pays non-USA, vous obtenez alors la boîte de saisie othstate, vous pouvez alors taper data, maintenant disons que je l'ai fait et tapé certaines données puis sélectionné USA from country list, il cacherait les données que j'ai tapées et laissez-moi choisir un état. Le problème avec ceci est dans le backend avec PHP je vérifie pour voir si l'entrée de texte est vide ou l'état est vide, cette faille permettrait aux deux de contenir des données.
J'espère que cela avait un sens et j'aimerais vos opinions et aider à satisfaire
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" ></script>
<script type="text/javascript">
$(document).ready(function() {
locationlist();
});
function locationlist() {
$('#othstate').hide();
$('#country').change(function() {
var val = $(this).val();
if (val == 223) {
$('#state').val('').show();
$('#othstate').hide();
}else {
$('#state').val('').hide();
$('#othstate').show();
}
});
}
</script>
<form method="post" name="form1">
<select style="background-color: #ffffa0" name="country" id="country">
<option>Select Country</option>
<option value="223" selected="selected">USA</option>
<option value="224">Canada</option>
<option value="225">England</option>
<option value="226">Ireland</option>
</select>
<div id="state">
<select style="background-color: #ffffa0" name="state" id="state">
<option>Select State</option>
<option value="1">Florida</option>
<option value="2">New York</option>
<option value="3" selected="selected">Georgia</option>
<option value="4">California</option>
</select>
</div>
<div id="othstate"><input type="text" name="othstate" id="othstate" value="" class="textBox"></div>
Je vais l'essayer merci, juste une question rapide, je vois que vous avez ajouté désactivé à tous les champs, ne devrait pas être activé à nouveau ou non? Je ne sais pas vraiment de quoi je parle – JasonDavis
Désolé je viens de réaliser le removeAttr je me sens bête lol – JasonDavis