jQuery 自动完成和更改交互

jQuery AutoComplete and Change interactions

本文关键字:交互 jQuery      更新时间:2023-09-26

我在使表单按要求运行时遇到问题 - 不确定是编码错误还是方法错误。我有一个使用 jQuery 的自动完成设置的名称字段。选择选项时,还会填充 ID 字段。这很好。我遇到的问题是我需要清除名称字段更改的 ID 字段 id,因为它将不再是正确的 ID。我尝试使用 jQuery 的更改触发器,但它也会在自动完成后触发 - 或者至少,当名称字段在自动完成后失去焦点时 - 因此 ID 始终被删除。

$('#MgrName').autocomplete({
        source:'auto_name.php',
        delay: 100,
        minLength:3,
        select:function(evt, ui)
            {
            // when a name is selected populate fields
            this.form.MgrID.value = ui.item.empid;
            this.form.MgrName.value = ui.item.empname;
            }
        });
$('#MgrName').change(function(){
        alert( "Handler for .change() called." );
        $('#MgrID').val('');
        });

我想我可以将名称字段的内容存储在变量中,并且仅在字段不再与变量匹配时才清除 ID。这是最好的方法,还是我缺少更优雅的解决方案?

我想

你可以试试这个,

$(document).on("change", "#MgrName", function(){
   alert( "Handler for change called." );
        $('#MgrID').val('');
});

取而代之的是,

$('#MgrName').change(function(){
        alert( "Handler for .change() called." );
        $('#MgrID').val('');
        });
相关文章: