Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.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自动完成中禁用一个选项?_Javascript_Jquery_Jquery Ui Autocomplete - Fatal编程技术网

Javascript 在jQuery自动完成中禁用一个选项?

Javascript 在jQuery自动完成中禁用一个选项?,javascript,jquery,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui Autocomplete,我使用下面的jquery从php脚本返回的值创建一个自动完成菜单 这些是PHP返回的值 ["Site 4","Site 2","Site 1","*************","Site 6","Site 7","Site 0"] 这是我对自动完成的jquery: $( '#site' ).autocomplete({ source: 'siteCheck.php', autoFocus: true, minLength: 1, select: functio

我使用下面的jquery从php脚本返回的值创建一个自动完成菜单

这些是PHP返回的值

["Site 4","Site 2","Site 1","*************","Site 6","Site 7","Site 0"]
这是我对自动完成的jquery:

$( '#site' ).autocomplete({
    source: 'siteCheck.php',
    autoFocus: true, 
    minLength: 1,
    select: function( event, ui ) {
        $('#site').val(ui);
    }
}); 
这会将正确的结果返回到屏幕并显示**********选项。但是,我想将该选项设置为粗体,并停止从列表中选择该选项

可能吗?我曾尝试使用jquery禁用select选项,但似乎没有任何效果

这不是另一张罚单的副本,他们正在询问如何在显示特定数量的结果后禁用条目。。我想禁用一个特定条目。

我已经在jQuery的官方网站上进行了修改。它应该足够简单,以适应您的数据

下面是它的工作原理:

数据数组项目中禁用的属性告诉自定义渲染逻辑是否禁用了选项

我已经自定义了渲染器,以便在选项上设置一个类ui状态disabled,如果元素已禁用,则将其设置为true。它还有助于将背景色设置为灰色,将字体大小设置为粗体

然后在焦点事件处理程序上,如果该项被禁用,则返回false。这可以防止jQuery在向下导航时将项填充到输入中

最后,在选择处理程序上,再次防止基于disabled属性的值选择该值

var项目=[{ 值:jquery, 标签:jQuery, 描述:写得少,做得多,JavaScript库, 图标:jquery_32x32.png, 禁用:false }, { 值:jqueryui, 标签:jqueryui, desc:jQuery的官方用户界面库, 图标:jqueryui_32x32.png, 残疾人士:对 }, { 价值:sizzlejs, 标签:Sizzle JS, desc:一个纯JavaScript CSS选择器引擎, 图标:sizzlejs_32x32.png, 禁用:false } ]; $project.autocomplete{ 最小长度:0, 资料来源:项目, 焦点:functionevent,ui{ ifui.item.disabled{ 控制台。防止焦点。; 返回false; }否则{ 返回true; } }, 选择:functionevent,ui{ 如果!ui.item.disabled{ $project.valui.item.label; }否则{ console.log阻止选择。; } 返回false; } } .autocompleteinstance.\u renderItem=functional,项{ 返回$ .append+item.label++item.desc+ .appendToul; }; .ui-menu-item-wrapper.ui-state-disabled{ 背景色:aaa; 字体大小:粗体; } 我已经在jQuery的官方网站上进行了修改。它应该足够简单,以适应您的数据

下面是它的工作原理:

数据数组项目中禁用的属性告诉自定义渲染逻辑是否禁用了选项

我已经自定义了渲染器,以便在选项上设置一个类ui状态disabled,如果元素已禁用,则将其设置为true。它还有助于将背景色设置为灰色,将字体大小设置为粗体

然后在焦点事件处理程序上,如果该项被禁用,则返回false。这可以防止jQuery在向下导航时将项填充到输入中

最后,在选择处理程序上,再次防止基于disabled属性的值选择该值

var项目=[{ 值:jquery, 标签:jQuery, 描述:写得少,做得多,JavaScript库, 图标:jquery_32x32.png, 禁用:false }, { 值:jqueryui, 标签:jqueryui, desc:jQuery的官方用户界面库, 图标:jqueryui_32x32.png, 残疾人士:对 }, { 价值:sizzlejs, 标签:Sizzle JS, desc:一个纯JavaScript CSS选择器引擎, 图标:sizzlejs_32x32.png, 禁用:false } ]; $project.autocomplete{ 最小长度:0, 资料来源:项目, 焦点:functionevent,ui{ ifui.item.disabled{ 控制台。防止焦点。; 返回false; }否则{ 返回true; } }, 选择:functionevent,ui{ 如果!ui.item.disabled{ $project.valui.item.label; }否则{ console.log阻止选择。; } 返回false; } } .autocompleteinstance.\u renderItem=functional,项{ 返回$ .append+item.label++item.desc+ .appendToul; }; .ui-menu-item-wrapper.ui-state-disabled{ 背景色:aaa; 字体大小:粗体; }