我的酒店管理系统中有此表格。这是Room表格的注册。所以房间号码取决于楼层(+ 2到4位数)。这是它的外观:
所以楼层传递房间的价值不应该是可编辑的。这是我使用的javascrpit:
<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>
但是,javascript所做的唯一一件事就是根据你在这一行($(this).get(0).selectionStart == 1 && e.keyCode == 8)
上声明的数字来禁用字符,并且不应该这样,地板通行证的整个值不应该是可编辑的。我希望有一个人可以帮助我。谢谢。
答案 0 :(得分:0)
希望JS Fiddle帮助您获得解决方案
<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;
}
});
答案 1 :(得分:0)
您可以使用简单的javascript来使用onchange
事件处理程序禁用选择输入控件!
这里有一个样本plunkr https://plnkr.co/edit/r1jR75NvI2QfzIiMeHsu?p=preview
答案 2 :(得分:0)
您可以考虑使用&#34;输入组&#34; bootstrap的功能(如果你正在使用bootstrap,那就是)。请看这个链接:https://v4-alpha.getbootstrap.com/components/input-group/