将Javascript命令合并为一个?

时间:2014-02-20 10:11:03

标签: javascript jquery

我有用于验证字母输入到表单输入框的代码。下面的代码工作得很好,但是我需要验证两个(可能更多)的框,以禁止输入字母。

 $(document).ready(function () {
            $("#txtTables").keydown(function (e) {
               if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1 ||
                    (e.keyCode == 65 && e.ctrlKey === true) ||
                    (e.keyCode >= 35 && e.keyCode <= 39)) {
                    return;
                }
                if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
                    e.preventDefault();
                }
            });
        });

工作正常,但我也有#txtIndividuals,我需要验证..所以目前,我在上面的块下方有这段代码......

  $(document).ready(function () {
            $("#txtIndividuals").keydown(function (e) {
               if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1 ||
                    (e.keyCode == 65 && e.ctrlKey === true) ||
                    (e.keyCode >= 35 && e.keyCode <= 39)) {
                    // let it happen, don't do anything
                    return;
                }
                if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
                    e.preventDefault();
                }
            });
        });

我可以将这些组合在一起吗?如果是这样,怎么样?感谢任何帮助:)谢谢!

2 个答案:

答案 0 :(得分:0)

是的,由grouping将两个选择器合二为一:

$("#txtTables, #txtIndividuals").keydown( ... );

答案 1 :(得分:0)

$('input[type="text"]').keydown( ... );

$("#txtTables, #txtIndividuals").keydown( ... );