Javascript 如何检测jQuery UI自动完成字段是否已从列表中更改?
我有一个带有jquery自动完成功能的简单输入文本文件。我有一些可选择的项目,当自动完成设置“pid”命名字段时,我也选择了一个。在此之后,我手动更改项目的名称。这将是一个新的,我需要保存到数据库。我是否可以检测到输入文本字段发生了变化 我想设置为清空名为“pid”的文件 以下是我的HTML代码:Javascript 如何检测jQuery UI自动完成字段是否已从列表中更改?,javascript,jquery,jquery-ui,autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,我有一个带有jquery自动完成功能的简单输入文本文件。我有一些可选择的项目,当自动完成设置“pid”命名字段时,我也选择了一个。在此之后,我手动更改项目的名称。这将是一个新的,我需要保存到数据库。我是否可以检测到输入文本字段发生了变化 我想设置为清空名为“pid”的文件 以下是我的HTML代码: <input type="text" name="pid" id="pid"> <input type="text" name="name" id="name"> 因此,我是
<input type="text" name="pid" id="pid">
<input type="text" name="name" id="name">
因此,我是否可以检测到“名称”已更改,但不是从自动完成列表中更改?此处添加了代码。若名称已更改且不等于自动完成设置的名称,它将发出更新数据库的警报
示例代码如下:
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');
}
});
var-source=[];
var映射={};
变量trackName;
对于(var i=0;i),您的问题不清楚……请尝试更具体……您希望实现什么?
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');
}
});