Toute personne qui peut m'aider sera très appréciée. J'ai l'impression d'avoir été un peu fougueux.jQuery valeur d'entrée indéfinie après l'ajout
J'essaie d'affecter des données de réponse - extraites d'une requête AJAX en utilisant le plugin jquery.autocomplete - à un élément d'entrée. Je peux récupérer les données de réponse, mais quand j'essaie de l'insérer dans l'attribut 'value', rien ne se passe!
$('#btnPopulate').click(function() {
if ($('#list_length').val() != '') {
var length = $('#list_length').val();
var row='';
for (var i=0; i <= length; i++) {
row="<tr><td>"+i+"</td><td><input name='data[CompanyRanking]["+i+
"][company_id]' id='CompanyRanking"+i+
"CompanyId' value='1'></td><input type='hidden' name='data[CompanyRanking]["+i+
"][ranking]' id='CompanyRanking"+i+"Ranking' value='"+i+"'></tr>";
$('#ranking_table').append(row);
$("CompanyRanking"+i+"CompanyId").autocomplete({
serviceUrl:'/backend/companies/search',
minChars:2,
delimiter: null, // regex or character
maxHeight:400,
width:300,
deferRequestBy: 50, //miliseconds
// callback function:
onSelect: function(value, data){
alert('You selected: ' + value + ', ' + data);
$('#CompanyRanking'+i+'CompanyId').val(data);
alert('val: '+
$('#CompanyRanking'+i+
'CompanyId').val() + 'object?: '+
$('#CompanyRanking'+i+'CompanyId'));
}
});
};
//$('#btnPopulate').ac;
} else {
alert('You must first specify how many companies are in the list.');
};
return false;
});
J'ai réduit un peu plus la source de cette erreur. Il semble que la variable de boucle 'i' ne soit pas utilisée correctement dans la fonction 'onSelect'. Cette fonction est appelée lorsque l'utilisateur entre des données dans le champ de saisie et que 'i' est défini sur le nombre maximal de boucles, par opposition à l'élément spécifique que j'essaie de sélectionner. – gomezuk