2017-12-08 1 views
0

Ich habe diese:Binding Eingabefeld auf einem einzigen div klicken

<td> 
    <div></div> 
    <input hidden> 
</td> 
... 
<td> 
    <div></div> 
    <input hidden> 
</td> 

Wenn ich die div klicken, möchte ich die div verstecken und die Eingabe binden und so:

$(document).one("click", 'div',function(){ 
    $(input).bind('blur keyup',function(e) { 
      .... 

aber anscheinend Die Eingabe wird nur gebunden, wenn ich erneut auf die Eingabe klicke, um sie zu bearbeiten.

Als Ergebnis kann ich auf mehrere divs klicken und keine von ihnen binden.

Wie kann ich auf ein div klicken und das Eingabefeld binden, ohne zuerst auf das Eingabefeld klicken zu müssen?

+2

Können Sie nach dem Code, den Sie mit einem gekommen sind atleast Snippet Arbeits so konnten wir sehen, was mit ihm los? –

+0

Nicht wirklich sicher, was Sie versuchen zu tun, aber mit '$ (this) .find ('input')' wird wahrscheinlich helfen – fen1x

+0

@Highdef Nein, aber sagen Sie, dass im Allgemeinen sollte es funktionieren? – Hartun

Antwort

0

$(document).ready(function() { 
 
    $("div").click(function() { 
 
    $(this).hide(); 
 
    var current_input = $(this).next('input') 
 
    current_input.css('display', 'block') 
 

 
    if (current_input.val()) 
 
     alert('Entered Value "' + current_input.val() + '"') 
 
    current_input.focus() 
 
    }); 
 
});
.divi { 
 
    width: 150px; 
 
    height: 30px; 
 
    background: gray; 
 
    text-align: center; 
 
}
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
 

 
</head> 
 

 
<body> 
 
    <table> 
 
    <tbody> 
 
     <tr> 
 
     <td> 
 
      <div class="divi">Div 1</div> 
 
      <input hidden> 
 
     </td> 
 
     <td> 
 
      <div class="divi">Div 2</div> 
 
      <input hidden> 
 
     </td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</body> 
 

 
</html>

+0

Ich denke, es könnte nahe sein, was das OP fragte, aber verstecken Sie einfach das div auch auf Klick, wie es erwähnt worden ist. ($ (this) .hide(); in Ihrer Funktion, wenn div geklickt wird) –

+0

sorry.Ich habe vergessen, die div .. Sie müssen hinzufügen, klicken Sie Funktion innerhalb $ (this) .hide() am Ende der Zeile –

+0

Ich habe eine Bearbeitung für dich vorgenommen. –

Verwandte Themen