我想点击组合框时突出显示文字。 这是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和类但没有运气。 请帮忙。 感谢。
答案 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');