2016-08-19 1 views
0

J'ai le balisage html suivant. sur le dropdown changement d'un select element (project_dp), alors je vais chercher le parent div. et après avoir obtenu le parent div je vais chercher le next div de ce parent div. après cela quand j'essaie d'utiliser la méthode find pour obtenir le select element(task) présent à l'intérieur de ce div, alors je ne reçois rien.impossible de trouver l'élément select en utilisant jquery présent dans un div?

<div class="div_cell"> 
    <select class="form-control project_dp" id="log_time_project_id" name="log_time[project_id]" onchange="populate_tasks($(this))"> 
     <option value=""></option> 
     <option disabled="true" selected="selected">Please Select</option> 
     <option value="18">akjsda</option> 
     <option value="19">approval process and approvers save test</option> 
     <option value="39">billable test</option></select> 
</div> 
<div class="div_cell"> 
    <select class="form-control task" id="log_time_task_id" name="log_time[task_id]"></select> 
</div> 

et la logique jquery

function populate_tasks(project_dp) { 

    div_node = project_dp.parent(); 

    next_div = project_dp.parent().next("div").find("select.task"); 
    alert(next_div.html()); // giving nothing. 
} 

mais je ne peux pas obtenir le présent element(select.task) dans le next_div. quand j'utilise alert déclaration pour voir le html, puis son retour rien.

Répondre

1

Son résultat attendu., .html() obtenir le contenu de l'élément correspondant.

Vous obtenez rien puisque l'élément select.task est vide car il n'a pas d'élément enfant.

Par commentaire, Si vous voulez le remplir. Utiliser suivant

next_div.append($('<option />', {text: 'SomeText', value:'SomeValue'})) 
+0

ok, je veux aller chercher cet élément et je veux remplir cette liste déroulante vide avec quelques options. comment puis-je faire cela en utilisant jquery? un exemple de code que je veux. – John

+1

@John, mise à jour de la réponse – Satpal