使用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;
}
答案 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发送。