2013-05-29 3 views
0

У меня есть текстовое поле, в которое я вставляю значения, выбранные из поля автозаполнения, Что я хочу сделать, так это получить обновленное значение из текстового поля.Нужно получить обновленное значение из текстового поля

Предполагаю, что я ввожу три символа a, b и c в текстовое поле Я удаляю символ c. У меня проблема IS-> еще раз, когда я выбираю персонаж из поля автозаполнения символ выбран не отображается в текстовом поле,

Персонаж делает добавляется в память т.е. HTML-коде. Но не отображается в текстовом поле. Ниже HTML

<div id="secondary" style="min-width:100px; min-height: 10px; float:left">write any character from a to f 
    <br/> 
    <label for="somechar"></label> 
    <input id="somechar" size="22"> 
    <br> 
    <textarea id="some-log" class="log" class="ui-widget-content"></textarea> 
</div> 

Вот это Jquery и код

var secondary = [ 
    "a", 
    "b", 
    "c", 
    "d", 
    "e", 
    "f"]; 

функция ниже регистрирует сообщение в текстовое поле JavaScript. вот где мне нужно обновленное значение. я не знаю, как я могу использовать некоторые вещи, как var thought= $("textarea#some-log").val(); здесь

function some_log(thought) { 
    $("#some-log").append(thought+ ", ").prependTo("#some-log"); 
} 

$("#somechar") /* this function is required when selecting multiple values */ 
.bind("keydown", function (event) { 
    if (event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) { 
     event.preventDefault(); 
    } 
}) 

Это Jquery автозаполнения

.autocomplete({ 
    minLength: 0, 
    source: function (request, response) { 
     // delegate back to autocomplete, but extract the last term 
     response($.ui.autocomplete.filter(
     secondary, extractLast(request.term))); 
    }, 
    focus: function() { 
     // prevent value inserted on focus 
     return false; 
    }, 
    select: function (event, ui) { 

     some_log(ui.item ? 
          ui.item.value : 
      "Nothing selected, input was " + this.value); 

     var terms = split(this.value); 
     // remove the current input 
     terms.pop(); 
     // add the selected item 
     terms.push(ui.item.value); 
     // add placeholder to get the comma-and-space at the end 
     terms.push(""); 
     this.value = terms.join(", "); 
     return false; 
    } 
}); 

http://jsfiddle.net/pratik24/MMpDv/

+0

Что такое 'extractLast'? –

+0

у вашего jsfiddle есть некоторые проблемы, вам нужно выбрать структуру jQuery, а затем выбрать jQuery UI, как в http://jsfiddle.net/arunpjohny/BR223/1/ –

+0

Я использую код автозаполнения jquery ui. здесь это не имеет значения. он не имеет ничего общего с обновлением поля текстовой области – patz

ответ

0

Попробуйте

function some_log(thought) { 
    $("#some-log").val(function(){ 
     return this.value + thought + ','; 
    }); 
} 

Demo: Fiddle

+0

Это работает .. Спасибо Арун П. Джонни. вы действительно awsm. – patz

Смежные вопросы