Salut je tente de peupler non seulement l'entréechamps d'une réponse JSON, mais aussi la valeur de la zone de sélection. Je peux obtenir que tous les champs d’entrée soient remplis en conséquence, mais je ne parviens pas à intégrer également le remplissage du champ sélectionné. Si je n'ai qu'un champ de sélection, je peux le faire peupler sans problème, mais comment faire en sorte que le script remplisse les deux entrées et les sélectionne avec les données appropriées? Toute orientation serait appréciée.
Voici l'extrait HTML des éléments de champ:
Email <input type="text" style="width:75%;" name="rEmail" id="rEmail" class="roomForm" placeholder="someone@somewhere.com">
Status <select name="rStatus" id="rStatus"><option value="Disabled">Disabled</option><option value="Enabled">Enabled</option></select>
Mon script ci-dessous renseigne les champs d'entrée et j'ai commenté la sélection ajoutée car elle ajoutait simplement tout le contenu du code JSON à la liste, plutôt que les seules données de la sélection.
$.ajax({
type:"GET",
url:"getroomfields.php?id="+row_id,success:function(result){
var json = $.parseJSON(result);
var $select = $("#rStatus");
//$select.find("option").remove();
for(key in json[0]){
if(json[0].hasOwnProperty(key))
$("input[name="+key+"]").val(json[0][key]);
// $select.append("<option value=" + key + " selected>" + json[0][key] + "</option>");
}
}
}); // end ajax
Merci d'avance!
Voici le JSON:
[{
"rID": "1",
"rName": "Test 123 Co",
"rLocation": "Anywhere, World",
"rContact": "John Doe",
"rPhone": "555-555-5555",
"rEmail": "test@someplace.com",
"rStatus": "Enabled",
"rAdded": "05-03-2018"
}]
Réponses:
0 pour la réponse № 1Il ressemble à votre select
des options existent déjà, je ne suis pas sûr de savoir pourquoi vous essayez d’ajouter quoi que ce soit. .val()
fonctionne pour les menus déroulants, tout comme les entrées.
J'ai enlevé du code inutile et changé votre sélecteur pour qu'il ne spécifie pas seulement input
s.
for (var key in json[0]) {
if (json[0].hasOwnProperty(key)) {
$("[name=" + key + "]").val(json[0][key]);
}
}
https://jsfiddle.net/vLb89bas/
Vous pouvez également sélectionner par identifiant: $("#" + key)