2017-07-03 2 views
0

J'essaie de créer/ajouter des champs de texte dynamiquement en drupal en fonction de l'option sélectionnée pour une liste de sélection.Ajouter des champs dynamiquement en drupal en fonction de l'option sélectionnée en utilisant ajax/jquery

si Jack est sélectionné, puis créez un champ de texte avec "Jack" comme contenu. Ce que j'ai fait jusqu'à présent en utilisant la propriété #ajax de Drupal, j'ai réussi à créer des champs de texte mais je n'ai pas pu obtenir l'option de liste de sélection comme valeur de champ. Je me suis mis au travail mais j'ai été frustré par la façon de remplir les champs avec ce que je voulais. J'ai également essayé de le faire explicitement en utilisant jQuery. J'ai réussi à recréer des champs pré-remplis avec les valeurs en fonction de l'option sélectionnée dans la liste de sélection.

$('#select_list').change(function(){ 
    var name_key = $(this).val(); 
    var name_value = $(this).text(); 

    $('#select_list_fieldset').append('<input type="text" value="'+name_value+'">'); 
}); 

Le problème avec elle écrit, par jQuery est qu'une fois le formulaire soumis tous sont ignorés champs créés dynamiquement. Je l'ai lu quelque part ici dans stackoverflow.

Quelqu'un peut-il m'aider et me diriger vers la bonne direction pour y arriver? Merci beaucoup d'avance.

+0

Vérifiez le lien suivant https://www.drupal.org/node/752056 et aussi les exemples module https://www.drupal.org/project/examples – vishwa

Répondre

0

être sélectionné l'option de liste_sélection:

$selected_name = isset($form_state['values']['select_list]) ? $form_state['values']['select_list'] : NULL; 

Régler la valeur par défaut pour person_name:

'#default_value' => $selected_name,