Как динамически запускать раскрывающийся список выбора, чтобы открыть значения, за исключением изменения значений атрибутов как длины значения параметра. Я хочу, чтобы динамическое выключение выпадающего меню (стрелка вправо) было так или иначе?
HTML:
<div>
<input type="text" />
</div>
<div>
<select id="testSelect" onfocus="openDrpDown(this)" onblur="closeDrpDown(this)">
<option>11111</option>
<option>222222</option>
<option>444444444</option>
<option>55555</option>
</select>
</div>
Script:
function openDrpDown(){
//var myDropDown=$("#testSelect");
//var length = $('#testSelect > option').length;
//open dropdown
//myDropDown.attr('size',length);
$("#testSelect").click();
}
function closeDrpDown(){
//var myDropDown=$("#testSelect");
//var length = $('#testSelect > option').length;
//close dropdown
//myDropDown.attr('size',0);
}
Вы можете установить два атрибута в это поле выбора, data-selectSize
который представляет собой двухзначный номер опций, а также size
и длину параметров. Мы будем обновлять этот size
onfocus
& onblur
.
Также нам понадобится tabindex, который указывает, может ли элемент принимать фокус ввода.
function openDrpDown(elem) {
$(elem).attr("size", $(elem).attr("data-selectSize"));
var options = "select[tabindex='" + +$(elem).attr('tabindex') + 1 + "']";
$(options).fadeTo(50, 0);
};
function closeDrpDown(elem) {
$(elem).attr("size", 1);
var options = "select[tabindex='" + +$(elem).attr('tabindex') + 1 + "']";
$(options).fadeTo('fast', 1.0);
};
function tr_click(){
$("#testSelect").trigger("click");
}
вызовите это, когда захотите, и если вы хотите открыть его при загрузке страницы, вызовите его над тегом <body onload="tr_click()"></body>