2016-06-28 24 views
0

Ich habe eine Felder mit einer datepicker & timepicker. Immer wenn ich auf diese Seite gehe, ist die zuletzt verwendete datepicker or timepicker immer sichtbar. Zum Beispiel, wenn ich timepicker auf dieser Seite verwendet habe, dann ist, wenn ich auf diese Seite gehe, timepicker offen.DatePicker/Timepicker ist die ganze Zeit sichtbar

Meine Anforderung ist, dass, wenn ich auf TextBox klicke, dann sollte die datepicker oder timepicker sichtbar sein.

JavaScript Funktion:

$(document).ready(function() { 
      $("[id$=TextBox1]").pickadate({format: 'dd/mm/yyyy'}); 
      $("[id$=TextBox3]").pickatime({ interval: 10 }); 
      $("[id$=TextBox4]").pickatime({ interval: 10 });    
     }); 

Wo soll ich den Code ändern?

Bitte helfen Sie mir, dies zu tun.

Dank

Update-Code:

Für TextBox1

<tr> <td class="style10"> 
        <strong> 
       Today 
       </strong> 
       </td> 
       <td class="style13"> 
        <strong> 
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
        </strong> 
       </td> 
      </tr> 

Für TextBox3

<tr> 
    <td class="style10"> 
        <strong> 
        In Time:</strong></td> 
       <td class="style13"> 
        <strong> 
       <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 

        </strong> 

       </td> 
      </tr> 

Für TextBox4

<tr> 
       <td class="style10"> 
        <strong> 
       OutTime:</strong></td> 
       <td class="style13"> 
        <strong> 
       <asp:TextBox ID="TextBox4" runat="server" onkeyup="sum"></asp:TextBox> 
        </strong> 
       </td> 
      </tr> 
      <tr> 
+0

Überprüfen Sie zuerst, ob dieses bestimmte Feld den Fokus hat, wenn Sie die Seite besuchen! – Rohit416

+0

@ Rohit416 Wenn ich andere einfache Textbox verwendet, dann gibt es kein Problem. – Kusum

+0

Dann ist es kein Problem mit 'datepicker' oder' timepicker'. Möglicherweise ist mit diesem Feld noch etwas anderes los. Von jetzt an ist es schwer zu sagen. Können Sie einen relevanteren Codeabschnitt posten? – Rohit416

Antwort

0

Sie können die Kommissionierer in einem

var instanziiert
var picker = $input.pickadate('picker') 

Und es öffnen oder schließen, wenn Sie wollen:

picker.open() 
picker.close() 

Auf diese Weise können Sie etwas tun können so für jeden Picker:

$(document).ready(function() { 
      var picker = $("[id$=TextBox1]").pickadate({format: 'dd/mm/yyyy'});   
    }); 

Und zwei für jeden Eingangsereignishandler hinzu:

$('#TextBox1').focus(function() { 
    picker.open() 
}); 

$('#TextBox1').focusout(function() { 
    picker.close() 
}); 

Wenn Sie nicht wollen, eine declarate Handler manuell für jeden Eingang (kann wenig mühselig sein), können Sie eine Funktion für parametrisieren erstellen dieses:

function parametrizeHandlers(inputId, picker) { 
    $('#'+inputId).focus(function() { 
     picker.open() 
    }); 

    $('#'+inputId).focusout(function() { 
     picker.close() 
    }); 
} 

WICHTIG: Im nehme an, dass Sie diese API verwenden, vollständige Spezifikation hier:

API- pickadate.js

Wenn Sie diese API nicht verwenden, können Sie so etwas tun.

+0

Ja, ich verwende diese API ... habe die Referenz von dieser Site genommen. – Kusum

+0

Dann kannst du etwas verwenden, was ich vorher erkläre, habe ich mit anderen apis benutzt. Wenn open() und close() den de-Picker nicht zerstören, vergewissere dich, dass .stop() und .start() es tun. – Mikel

+0

Ich habe deine Lösung benutzt, aber das löst mein Problem nicht. Immer noch diesen Fehler zu bekommen. – Kusum

Verwandte Themen