JQuery автозаполнение при нажатии кнопки получить скрытое значение - PullRequest
2 голосов
/ 16 июня 2010

используя автозаполнение jquery, мы получаем скрытое значение, вызывая функцию .result, подобную этой

$("#suggest").result(function(event, data, formatted) {
   $('#hidden').val(data[1]);
 });

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

<input type="text" id="suggest" />
<input type="button" value="Ok" onclick="GetValue()" />
<input type="hidden" id="hidden"/>
function GetValue()
{
   //get hidden field value - getting empty
  var hid=document.getElementById('hidden').value;
}

Ответы [ 2 ]

1 голос
/ 16 июня 2010

Редактировать: На основании ваших комментариев вам нужно сделать что-то вроде этого:

var users = [ {value: "John", id: 1}, {value: "George", id: 2},
               {value: "Jim", id: 3} ];

var usersArray = $.map(users, function(el) { return el.value; } );


$(function(){  

  $("#suggest").autocomplete(usersArray);  

  // This handles an autocomplete selection
  $("#suggest").result(function(event, data, formatted) {
     UpdateValue();
   });

  // This handles the manual entry case 
  $("#suggest").keyup(function() {
    UpdateValue();
  });   

});

function UpdateValue()
{
    var name=$("#suggest").val();
    $("#DebugField").text(name);
    $.each(users, function(n, item) {
      if (item.value == name) {
          $('#hidden').val(item.id);
          $("#DebugField").text(item.id);
      }
    });
}


function GetValue()
{
   //get hidden field value - getting empty
  var hid=$('#hidden').val();
  alert(hid);
  return false;
}

См. Это работает здесь .

0 голосов
/ 31 марта 2012

алгоритм:

Onselect:

предварительное условие: убедитесь, что вы вернули метку и значение {имя человека и идентификатор человека} для успехаполучить предмет (ключ, значение)сохранить значение в переменной.{a = item.value}Теперь измените значение элемента на метку элемента. {item.label = item.value}, используя значение, установите для него некоторую скрытую переменную в форме, например document.personform.hiddenfield = a.Затем отправьте форму или отправьте ее через ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...