как динамически активировать выпадающий список

0

Как динамически запускать раскрывающийся список выбора, чтобы открыть значения, за исключением изменения значений атрибутов как длины значения параметра. Я хочу, чтобы динамическое выключение выпадающего меню (стрелка вправо) было так или иначе?

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);
}
Показать ещё 1 комментарий

2 ответа

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);
  };

JSFIDDLE

  • 0
    Спасибо за ваше время, но я уже пробовал это, вот почему сам вопрос, который я задал, кроме этого решения, заключается в том, что любой другой способ достичь этого? причина в том, что при открытии фокуса он не работает, как при работе с другим собственным компонентом выбора, один раз, если мы выбрали опцию, в то время как нажатие вводит его не закрытие, так как мы написали onblur его закрытие фокуса ... jsfiddle.net/84a4drf5/ 1 - я пытаюсь вызвать как щелчок мыши на стрелке выбора вправо - динамически? любая идея ?
-1
  function tr_click(){
     $("#testSelect").trigger("click");
}

вызовите это, когда захотите, и если вы хотите открыть его при загрузке страницы, вызовите его над тегом <body onload="tr_click()"></body>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню