在jQuery

时间:2016-03-07 11:44:24

标签: jquery html

在表单输入字段中,我想显示滚动选项等数字,但我想禁用一些数字,我从数据库中获取这些数字。

例如,如果我的数据库查询返回3,5和7,则用户不能在表单输入字段中输入这些数字。

<form>
<input name="sid" type="number">
</form>

2 个答案:

答案 0 :(得分:2)

您可以这样做:

$(function(){  
    var preventNumbers = [3,4,5] //array of numbers
    $('input[name="sid"]').keydown(function(e){
        if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1){
        return false;
    }
  });
})

DEMO

这里我创建了一些数字,你想要阻止它们输入输入,你可以使用keydown函数来阻止输入。

如果你想要阻止箭头事件,那么你必须抓住mouseup事件,如:

$(function(){  
    var preventNumbers = [3,4,5]
    $('input[name="sid"]').keydown(function(e){
        if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1)         {
        return false;
    }
  }).mouseup(function(){
        var val = $(this).val();
    if(preventNumbers.indexOf(parseInt(val)) > -1)          {
        $(this).val('');
    }
  })
})

Updated DEMO

答案 1 :(得分:0)

如果你正在使用jQuery,你可以绑定到keyup事件,并检查被按下的键,如果你不希望用户选择,则返回false:

dd-mm-yyyy