2016-11-30 3 views
0

Ich habe dieses Formular in meinem Hotel Management System. Es ist die Registrierung der Raumform. Die Zimmernummer hängt also vom Stockwerk ab (+ 2 bis 4 Ziffern). Hier ist, wie es aussieht:Wert des Eingabefeldes sollte nicht editierbar sein

enter image description here

So ist der Wert, der der Bodenpass auf dem Zimmer nicht bearbeitet werden soll. Dies ist die javascrpit, die ich benutze:

<script type="text/javascript"> 
//<![CDATA[ 
$(document).ready(
     function() { 
      $("#_roomNumber_id").on("keydown", function(e) { 
        if (($(this).get(0).selectionStart == 0 && (e.keyCode < 35 || e.keyCode > 40)) 
         || ($(this).get(0).selectionStart == 1 && e.keyCode == 8)) { 
         return false; 
       } 
       }); 

       $("#_roomNumber_id").bind("contextmenu", function(e) { 
        e.preventDefault(); 
       }); 
      }); 
//]]> 
</script> 

Aber das einzige, was die Javascript ist tun, um die Zeichen Basis der Anzahl deaktivieren, die Sie auf dieser Linie erklären ($(this).get(0).selectionStart == 1 && e.keyCode == 8) und es sollte nicht so sein, der gesamte Wert der Bodenpass sollte nicht bearbeitbar sein. Ich hoffe, dass mir jemand helfen kann. Vielen Dank.

+0

Versuchen Sie das Attribut deaktiviert –

+0

@KarthikSivakumar das gesamte Eingabefeld wird deaktiviert Sir. –

+0

Also nur die Zahlen, d. H. 01 sollte editierbar sein, oder? –

Antwort

0

Hope this JS Fiddle hilft Ihnen, die Lösung zu erhalten

<input id="field" type="text" value="Basement-" size="10" /> 

<div id="output"> 
</div> 

var readOnlyLength = $('#field').val().length; 

$('#output').text(readOnlyLength); 

$('#field').on('keypress, keydown', function(event) { 
var $field = $(this); 
$('#output').text(event.which + '-' + this.selectionStart); 
if ((event.which != 37 && (event.which != 39)) 
    && ((this.selectionStart < readOnlyLength) 
    || ((this.selectionStart == readOnlyLength) && (event.which == 8)))) { 
     return false; 
    } 
});      
+0

Ich habe ein Problem, Sir. Da der Wert, der nicht bearbeitet werden sollte, der Wert aus dem Stockwerk (id = "_floor_id") ist, der im Raumnummernfeld übergeben wird (id = "_roomNumber_id"), habe ich dies versucht: http://pastie.org/private/ichfnsradby3diwsnkudjw aber es funktioniert nicht. –

+0

Kannst du eine Geige machen und mit mir teilen? –

+0

Hier ist meine Geige Sir: https://jsfiddle.net/wcbvsm99/1/ –

0

Sie einfach Javascript können Sie die Auswahleingangskontrolle unter Verwendung der onchange Ereignishandler deaktivieren! hier geht ein Beispiel plunkr https://plnkr.co/edit/r1jR75NvI2QfzIiMeHsu?p=preview

+0

@kendall Wenn es nicht funktioniert, dann geben Sie Ihre Plunkr, damit wir das Problem überprüfen können! – Santosh

Verwandte Themen