sea*_*lea 2 jquery autocomplete
如果用户在不选择一组自动完成建议的情况下输入文本,我们需要能够调用处理程序.
在我们的例子中,如果输入的文本匹配任何自动完成值或没有也不要紧-我们只关心如果用户点击/选择自动完成值,或者没有.
我们的表单的工作方式是用户开始输入联系人的姓氏,并获得自动填充建议,包括联系人的全名和公司.如果用户选择其中一个自动填充建议,我们会填充多个字段.这一切都很好.
新的要求是,如果用户没有选择其中一个建议,我们需要删除多个字段 - 我们希望使用从自动完成库调用的处理程序来实现这些字段.
看看以前的 答案,看起来我们不能用JörnZaefferer的自动完成插件做到这一点,但是如果你有一个补丁或一些想法如何实现这个功能,那么这就是我们试图将其推入的库.
小智 7
我遇到了非常有趣的答案.它涉及jQuery插件如何管理其状态.当我看到firebug(带有firequery)时,我发现当我点击显示DOM节点的jQuery属性的图标时(在HTML选项卡中),它显示了附加到DOM节点的所有插件数据,并附加到整个自动完成参数.因此我找到了解决方案.
$('#test').autocomplete({
change:function( event, ui ) {
var data=$.data(this);//Get plugin data for 'this'
if(data.autocomplete.selectedItem==undefined)
alert("manual");
else
alert("selected");
}
});
Run Code Online (Sandbox Code Playgroud)
自动完成的作用是,如果我们从列表中选择,则selectedItem包含我们刚刚选择的JSON对象及其所有属性.但是如果我们按ESC或取消自动填充,它将被设置为null.
| 归档时间: |
|
| 查看次数: |
9752 次 |
| 最近记录: |