2016-07-20 2 views
0

html:jquery außerhalb Selektor-Tag (Klasse oder id)

<td> 
    <input type="text" name="c_name[]" class="form-control cast-name" id="cast1" autocomplete="off"> 
    <div class="cast-search"> 
     <div class="cast-pop"> 
      <ul> 
      <li class="item">1</li> 
      <li class="item">2</li> 
      <li class="item">3</li> 
      </ul> 
     </div> 
    </div> 
</td> 
<td> 
    <input type="text" name="c_name[]" class="form-control cast-name" id="cast2" autocomplete="off"> 
    <div class="cast-search"> 
     <div class="cast-pop"> 
      <ul> 
      <li class="item">1</li> 
      <li class="item">2</li> 
      <li class="item">3</li> 
      </ul> 
     </div> 
    </div> 
</td> 

Nehmen Sie die jede 'li' Wert. außerhalb ihres „Input“ würde Ich mag

$('body').on('keyup','.cast-name',function(){ 
     $(this).next().slideDown(200); 
     var datas = $(this).val(); 
     var cast_pop = document.getElementsByClassName('cast-pop'); 
     $.ajax({ 
      url:"include/film/cast_get.php", 
      type:"GET", 
      data:'cast='+datas, 
      success:function(answer){ 
       $('.cast-pop').html(answer); 
       $('.item').click(function(){ 
        // how will I do ... 
       } 
      } 
     }); 
    }); 

drucken, wenn ich eine der „li“ Elemente klicken, i den Wert mit alert() Funktion erhalten. Aber was ich will, ist dieser Wert auf Eingang zu bekommen

+2

Ihre Frage ist unklar. Bitte klären Sie, was das Problem ist und was Sie erreichen möchten. – j08691

+0

FYI, das ist ungültig HTML-Markup, 'li' kann nur direkt Kind von' ul/ol' oder 'template' Elemente sein –

+0

@ A.Wolff ok .Ich ändere es. Also, wie mache ich jetzt – vulkan

Antwort

1
$('.item').click(function(){ 
        // how will I do ... 
       } 

Ich glaube, Sie wollen wissen, wie das Click-Ereignis erhalten für die dynamisch erstellt .itemli in Ihren Ajax-Aufruf.

Sie müssen sich über .delegate()

Beschreibung zu lesen: Bringen Sie einen Handler auf ein oder mehrere Ereignisse für alle Elemente, die die Wähler übereinstimmen, jetzt oder in der Zukunft, basierend auf einer spezifischer Satz von Wurzelelementen.

$(document).on("li", "click", function() { 
    // you do like this 
}); 

Aber keine Notwendigkeit, den obigen Code in Ajax-Erfolg zu schreiben. Sie können außerhalb Ihres Ajax-Anrufs schreiben.

+0

Wenn ich auf eines der "li" Elemente klicke, kann ich den Wert mit der alert() Funktion erhalten. Aber was ich will, ist diesen Wert zur Eingabe zu bekommen – vulkan