Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检测jQuery UI自动完成字段是否已从列表中更改?_Javascript_Jquery_Jquery Ui_Autocomplete - Fatal编程技术网

Javascript 如何检测jQuery UI自动完成字段是否已从列表中更改?

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"> 因此,我是

我有一个带有jquery自动完成功能的简单输入文本文件。我有一些可选择的项目,当自动完成设置“pid”命名字段时,我也选择了一个。在此之后,我手动更改项目的名称。这将是一个新的,我需要保存到数据库。我是否可以检测到输入文本字段发生了变化

我想设置为清空名为“pid”的文件

以下是我的HTML代码:

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