Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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_Css_Jquery Ui - Fatal编程技术网

Javascript JQuery UI自动完成组合框高亮显示

Javascript JQuery UI自动完成组合框高亮显示,javascript,jquery,css,jquery-ui,Javascript,Jquery,Css,Jquery Ui,我有一个,需要在功能更强大的组合框中进行转换 <span class="combo_box"> <select id="state" name="state" tabindex="24"> <option value="" disabled selected style="display:none"></option> <!-- Some JSP here --> </select&

我有一个
,需要在功能更强大的组合框中进行转换

<span class="combo_box">
    <select id="state" name="state" tabindex="24">
        <option value="" disabled selected style="display:none"></option>
        <!-- Some JSP here -->
    </select>
</span>
但是添加这个CSS类似乎对小部件的外观没有影响。还尝试了硬代码,比如
$(“#state”).addClass('ui-state-error')
,但仍然没有成功。 同样尝试过,对selectmenu有效,但对combobox无效

<span class="combo_box">
    <select id="state" name="state" tabindex="24">
        <option value="" disabled selected style="display:none"></option>
        <!-- Some JSP here -->
    </select>
</span>
可能的解决方案:(感谢)

编辑
\u createAutocomplete:function()
如下:

_createAutocomplete: function() {
            var selected = this.element.children( ":selected" ),
                value = selected.val() ? selected.text() : "";

        this.input = $( "<input>" )
            .appendTo( this.wrapper )
            .val( value )
            .attr( "title", "" )
            .attr( "id", "ui-" + this.element.attr("id") + "-input" )
...
\u createAutocomplete:function(){
var selected=this.element.children(“:selected”),
value=selected.val()?selected.text():“”;
this.input=$(“”)
.appendTo(this.wrapper)
.val(值)
.attr(“标题”、“名称”)
.attr(“id”,“ui-”+此.element.attr(“id”)+“-输入”)
...

问题是-默认API不会为combobox的元素生成唯一ID。

您可以尝试使用我在这里编写的代码吗?我使用jqueryui示例进行操作:

函数校验值(项){
item.removeClass('ui-state-error');
如果(item.val()==“”){
item.addClass('ui-state-error');
}
}
校验值($(“.custom combobox input”);
.ui状态错误{
背景色:红色;
}


您确定没有将该类应用于隐藏选择吗?:P@nowhere这就是问题的核心所在,在我提到的工作解决方案中,他们为小部件元素使用了一些生成的id。但我没有找到组合框元素(自动完成和按钮)的id。另外:据我所知style=“display:none”当添加到选项时,不能在每个浏览器中工作。您是否在旧版本的IE中试用过?此解决方案适用于特定的浏览器和特定的客户,因此没有问题。您需要以某种方式识别小部件创建的select…您不能依赖任何类或id吗?它是否具有可用于识别它的父元素?问题如果这个类有多个选项,所有选项都将突出显示。因此,我需要提取特定组合框输入和特定组合框按钮的id。@Ahnassi是的,但是如果通过代码向其中添加id,您应该能够访问所需的元素。您在“编辑”部分之后尝试过我的代码吗?谢谢!编辑
\u create:function()
工作得很好,虽然我不认为更改API是一个很好的解决方案,但这是我目前拥有的最好的解决方案。@Ahnassi好的,我们只是绕过了它的限制,使它变得更好:P很高兴能提供一些帮助。