Java 使用单选按钮切换自动完成源
我有一个表格,可以跟踪校园某些地方允许的项目。单选按钮组控制所讨论的区域是物理房间还是更一般的“项目”。任何一个都将其值输入到数据库中的同一字段中 房间和项目存储在单独的表中。我想在这里利用jQueryUI的自动完成功能。到目前为止,radio组上的change事件为room和project切换适当的文本,并切换类“roomAC”。“roomAC”类是自动完成的选择器 我想,当我删除该类时,它将不再让自动完成工作,但它确实可以。这是因为事件仍然绑定到DOM元素。我想知道的是,是否有办法绑定/解除绑定自动完成事件?或者我在if语句(无线电组中的语句)中重新创建事件处理程序时遇到了麻烦 我的JSJava 使用单选按钮切换自动完成源,java,jquery,jquery-ui,Java,Jquery,Jquery Ui,我有一个表格,可以跟踪校园某些地方允许的项目。单选按钮组控制所讨论的区域是物理房间还是更一般的“项目”。任何一个都将其值输入到数据库中的同一字段中 房间和项目存储在单独的表中。我想在这里利用jQueryUI的自动完成功能。到目前为止,radio组上的change事件为room和project切换适当的文本,并切换类“roomAC”。“roomAC”类是自动完成的选择器 我想,当我删除该类时,它将不再让自动完成工作,但它确实可以。这是因为事件仍然绑定到DOM元素。我想知道的是,是否有办法绑定/解除
//ROOM FIELD JQUERY-UI AUTO-COMPLETE
$(".roomAC").autocomplete({
source: "autocomplete.cfm",
minLength: 4
});
tl;dr
如何绑定和解除绑定jQuery UI自动完成事件?关于解除绑定自动完成控件的问题,您可以禁用它或使用
.autocomplete(“option”,optionName,[value])
语法更改源代码
但如果我正确理解您的情况,您实际上希望发送搜索词和源标识符。它可以通过使用回调作为源(在自动完成选项中)来实现。文件说:
第三种变体是回调,它提供了最大的灵活性,并且
可用于将任何数据源连接到自动完成。回调
获取两个参数:
一个请求对象,具有一个名为“term”的属性,该属性引用
设置为文本输入中当前的值。例如,当用户
在城市字段中输入“new yo”,自动完成项将等于
“新哟”
一个响应回调,它需要一个参数
包含要向用户建议的数据。应过滤此数据
基于提供的术语,并且可以采用所述的任何格式
用于简单的本地数据(字符串数组或带有
标签/值/两个属性)。在提供定制服务时,这一点很重要
在请求过程中处理错误的源回调。你必须永远
即使遇到错误,也要调用响应回调。这
确保小部件始终具有正确的状态
这是我在jQuery UI自动完成中使用的函数:
function initSuggest(){
var cache = {},
lastXhr;
$( ".Mjesto" ).each( function() {
$( this ).autocomplete( {
minLength: 2,
source: function( request, response ) {
var sourceId = $("#DrzavaId option:selected").text();
var term = request.term;
if ( term in cache ) {
response( cache[term] );
} else {
try {
lastXhr = $.getJSON( "autocomplete2.cfm", { c: sourceId, t: term },
function( data, status, xhr ) {
cache[term] = data;
if ( xhr === lastXhr ) {
response( data );
}
});
} catch( ex ) {
response( null );
}
}
},
autoFocus: true
} );
} );
}
此函数还缓存响应。如果忽略这一点,技巧就在try/catch块中。不确定是否真正理解了您的问题,但要更改自动完成源,可以这样做:$(“#元素”).autocomplete(“选项”,源,myArray)