当我输入“;”时,我在asp.net中有一个文本框。文本框中的分号表示它必须调用一个函数。有什么方法可以做到这一点。请帮帮我。.我尝试过更改函数,但它会在文本框中的每个按键上调用。

$('#prgrp').on('change', function (evt)
            {
                var txt = $("#prgrp").val();
                var valueArray = txt.split(';');
                var valueSortArray = valueArray.sort();
                var duplicateValues = [];
                for (var i = 0; i < valueSortArray.length; i++)
                {
                    if (valueSortArray[i + 1] == valueSortArray[i])
                    {
                     duplicateValues.push(valueSortArray[i]);
                    }
                }
                if (duplicateValues.length > 0)
                {
                 $("#duplicate").html("Don't enter repeated values");
                 $('#duplicate').css('color', 'RED');
                 $("#prgrp").autocomplete("disable");
             }
             else {
                 $("#duplicate").html("");
                 $("#prgrp").autocomplete("enable");
             }
         });

最佳答案

尝试这个:-

$("#prgrp").keypress(function (e) {
     if (e.keyCode == 59) {
         //Call your function here
     }
});


请注意,由于jquery标准化,您也可以使用e.which代替e.keyCode

09-20 14:23