在Oracle jet中单击时突出显示组合框文本

时间:2018-03-06 05:22:56

标签: jquery oracle-jet

我想点击组合框时突出显示文字。 这是JQuery的例子 http://jsfiddle.net/Ilmv/5zWad/

我想在我的组合框上做同样的事,但它不起作用。 Oracle jet在运行时扩展其组件以添加自己的类。所以,我很困惑我需要应用哪个ID或类。

这是我可编辑的组合框。

 <input id="combobox" class="seriescombobox" list="series"
     data-bind="ojComponent:{component:'ojCombobox',value:seriesValue,
               optionChange:LoadSerieses(), 
               rootAttributes: {style:'min-width:32em'}}"/>
     <datalist id="series">
           <!-- ko foreach: serieses -->
               <option data-bind ="value:value,text:label">
               </option>
           <!-- /ko -->
     </datalist>

这是我用来突出显示文本的JQuery代码。

      $(".oj-combobox-input").focus();
      $(".oj-combobox-input").select();

我尝试了所有可能的ID和类但没有运气。 请帮忙。 感谢。

2 个答案:

答案 0 :(得分:0)

使用optionChange属性将您的组合框连接到JavaScript函数。 我注意到即使你调用了element.select,ojet也会刷新组合并取消选择值。为了克服这个问题,在你的JS回调中编写选择代码,使其在稍微延迟后执行,可能你可以使用setTimeout。不是最好的方法,但这会奏效。

valueChangeHandler = function(event) {
            setTimeout(function() { $('#oj-combobox-input-combobox_1')[0].select()}, 200);
        };

请注意,我在这里使用id来获取文本组件。在您的情况下,ID为"oj-combobox-input-" + id of the combobox

答案 1 :(得分:0)

这终于奏效了。

单击组合框时,这将使文本突出显示。

$(".oj-combobox-input").attr('onclick','this.select()');

一旦你向上鼠标,焦点就会消失。下面是保持文字突出显示。

$(".oj-combobox-input").attr('onmouseup','return false');