单击按钮上的jquery自动完成获取隐藏值

时间:2010-06-16 07:53:06

标签: jquery autocomplete

使用jquery自动完成功能,我们通过调用.result函数来获取隐藏值

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

这仅在我们从autosuggest列表中选择选项并按Enter键时才有用。我需要的是,我输入选项,输入完整的单词,而不选择它,然后单击确定按钮?但我总是空虚。

<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 个答案:

答案 0 :(得分:1)

修改:根据您的评论,您需要执行以下操作:

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;
}

看到它正在运行here

答案 1 :(得分:0)

算法:

ONSELECT:

先决条件:确保为成功返回标签和值{人名和人员ID} 得到物品(钥匙,价值)
将值存储在变量中。 {a = item.value}

现在将项目值更改为项目标签。{item.label = item.value} 使用该值将其设置为一些隐藏变量,如document.personform.hiddenfield = a 然后提交表格或通过ajax发送。

相关问题