2014-01-22 8 views
7
zeigt

Ich versuche, Funktion in JavaScript zu schreiben, die 'DIV' nach dem Einfügen von etwas Text anzeigen/ausblenden wird.Javascript - wie man DIV nach dem Setzen von Text in

habe ich es geschafft, es zu schreiben, aber ich kann es nur, wenn der Benutzer größer als 8.

Html auf den 'Input' Wert setzen nicht funktioniert:

<input type='text' id='area' style='border: 1px solid;'></input><br> 
<div id='text1' style='display:none; '>Examletext</div> 

JavaScript:

$(document).ready(function() { 
    $("#area").keyup(function() { 
     if ($('#text1').is(":hidden")) { 
      $('#text1').show(500); 
     } else { 
      $("#text1").hide(500); 
     } 
    }); 
}); 

Oben ist arbeiten Skript, aber das funktioniert, was auch immer Sie in den 'inp ut '. Ich möchte nur das Skript ausführen, wenn ich Wert lege größer als 8 (9, 10, 101 etc.)

Ich habe versucht, diese (keine Wirkung) hinzuzufügen:

if ($("#area").value > 8){} 

Hier ist die Arbeits Skript, wo ich Linie oben beschrieben haben kommentiert out - jsfiddle

+1

würde ich tun, einige der Forschung in die Unterschiede zwischen Java und Javascript – RyanS

+0

Ich stimme sehr empfehlen. Danke für den Tipp :) – user2463248

Antwort

4

Änderung $("#area").value zu $("#area").val()

$(document).ready(function() { 
    $("#area").keyup(function() { 
     if ($("#area").val() > 8) { 
      if ($('#text1').is(":hidden")) { 
       $('#text1').show(500);] 
      } else { 
       $("#text1").hide(500); 
      } 
     } 
    }); 
}); 

In jQuery benötigen Sieverwendennicht value

Fiddle Demo

Dokumentation: http://api.jquery.com/val/

+0

Danke, es funktioniert ganz schön. Ich muss nur etwas Code hinzufügen, damit das 'div' verschwindet, wenn der putted Wert kleiner/oder gleich 8 ist. Nochmals vielen Dank. – user2463248

+0

Warum downvote ????? –

+1

Ich habe den Pfeil nach oben geklickt ... – user2463248

4

Es nicht ist .value aber val()

sollte Ihr jsfiddle

if ($("#area").val().length > 0){ 
+0

Danke - das war das Problem – user2463248

4

Versuchen Sie dies:

$(document).ready(function() { 
$("#area").keyup(function() { 
    if ($("#area").val() > 8){ 
     if ($('#text1').is(":hidden")) { 
      $('#text1').show(500); 
     } else { 
      $("#text1").hide(500); 
     } 
    } 
}); 
}); 
+0

Auch danke für die schnelle Antwort – user2463248

3

versuchen diese

$(document).ready(function() { 
    $("#area").keyup(function() { 
     if ($("#area").val() > 8) { 
      $('#text1').toggle("slow"); 
     } 
    }); 
}); 
+0

Danke, 'toggle (' langsam ')' funktioniert super – user2463248

0

den Wert analysieren, bevor Vergleich zu int und verwenden val statt Wert

if (parseInt($("#area").val()) > 8){ 
//write the action to be performed here 
} 
Verwandte Themen