Как обнаружить, что автозаполненное поле jQuery UI изменилось не из списка?

0

У меня есть простой входной текст с функцией автозаполнения jquery. У меня есть некоторые выбираемые элементы, и я выбрал один, когда автозаполнение настраивает поле "pid". После этого я вручную меняю имя элемента. Это будет новый, что мне нужно сохранить в базе данных. Могу ли я каким-то образом определить текстовое поле ввода?

Я хочу установить для опорожнения "pid" с именем filed.

Вот мой код HTML:

<input type="text" name="pid" id="pid">
<input type="text" name="name" id="name">

Вот код jQuery:

$('#name')).autocomplete({
    source: function(request, response) {
         $.ajax({
              url:myurl,
              data:mydata,
              type:'get',
              success: function(data) {
                  response(data.mydat);
              },
              error: function(e,f,g) {
              }
         });
    },
    minLength: 1,
    select: function(event, ui) {
        $('#pid').val( ui.item.id );
        $('#name').val( ui.item.name );
    }
});

Так что я могу каким-то образом определить #name, но не из списка автозаполнения?

  • 0
    Ваш вопрос неясен .... попробуйте быть более конкретным .. что вы хотите достичь?
Теги:
autocomplete

1 ответ

0

Вот код, добавленный в jsfiddle. Он будет предупреждать об обновлении базы данных, если имя изменено и не равно одному набору автозаполнения.

Пример кода ниже:

    var source  = [ ];
    var mapping = { };
    var trackName;    
    for(var i = 0; i <compName .length; ++i) {
        source.push(compName [i].id);
        mapping[compName[i].id] = compName[i].value;
    }    
    $("#compID").autocomplete({
        source: source,
        minLength: 1,
        select: function(event, ui) {   $("#compName").val(mapping[ui.item.value]); 
         trackName = mapping[ui.item.value];
        } 
    });    
    $("#compName").change(function() {
     if($("#compName").val() != trackName)
     {
      alert('Name is changed, Fire ajax and update DB');
     }
    });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню