2012-06-08 2 views
0

Мне нужно иметь возможность динамически заполнять базу данных html для ввода значения текста. Это необходимо автоматически активировать, если значение текстового поля равно 8 символам. Пользователю не нужно указывать или нажимать, чтобы увидеть заполненное значение. Вот что я до сих пор, но это только огонь, когда текстовое поле теряет фокус.Динамическое заполнение окна выбора из базы данных на входной текст указанной длины

//Html code 
<input id=InputText name=InputText onblur="populateListBox();" onchange="CheckInputLength();" onkeydown="CheckInputLength();" value="" onfocus="this.select();"> 

// Javascript код

function CheckInputLength() 
{ 
    if($("#InputText").val().length >= 8) 
     populateListBox(); 
} 

function populateListBox() 
{ 
      $.get("???", function(data) { 
       $('#listBox').children().remove(); 
       var options = data; 

       $("#listBox").append(options); 
       $("#listBox").html(data); 

      }); 

} 

ответ

0
$('#InputText').keypress(function (event) { 
    var $inputText = $(this); 
    // Before keypress. 
    setTimeout(function() { 
     // After keypress. 
     if ($inputText.val().length >= 8) { populateListBox(); } 
    }, 0); 
}); 
+0

WOW ! Я пробовал ваше решение, и он работал красиво. Спасибо за вашу помощь. – user385599

0

Я хотел бы проверить ВЫБ.2, который звучит, как он имеет все функциональные возможности вашего ищет и плюс некоторые из них: http://ivaynberg.github.com/select2/

$("#InputText").select2({ 
    minimumInputLength: 8, 
    ajax: { 
    url: "???", 
    // your other options 
    } 
});