基于输入调用函数

时间:2015-03-12 10:17:36

标签: javascript jquery asp.net

当我输入&#34 ;;"我在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");
             }
         });

3 个答案:

答案 0 :(得分:2)

试试这个: -

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

请注意,您也可以使用e.which代替e.keyCode,因为它是jquery标准化的。

答案 1 :(得分:1)

试试这个

$('#prgrp').bind('keypress', function(e) {
var code = e.keyCode || e.which;
 if(code == 59) { //
   //Do something
 }
});

Demo

答案 2 :(得分:1)

试试这段代码

$( "#prgrp" ).keypress(function( event ) {
    if ( event.which == 59 || event.keycode == 59 ) {
        //your function call
    }
});