jQueryFormStyler icon indicating copy to clipboard operation
jQueryFormStyler copied to clipboard

Как вызвать дропдаун select

Open osben opened this issue 6 years ago • 4 comments

Здравствуйте. Есть такой хитрый код к примеру:

<select class="js-styler js-change-city" disabled></select>

$(".js-styler").styler();

$("div.js-change-city.disabled").on("click", function (e) {
  e.preventDefault();
  var options = "";

  for (i = 1; i <= 5; i++) {
    options += "<option>Опция " + i + "</option>";
  }

  $(".js-change-city.disabled")
    .find("select")
    .append(options)
    .prop("disabled",false)
    .trigger("refresh");
});

суть, по умолчанию список имеет состояние disabled при клике мы его подгружаем\генерируем и снимаем disabled и что бы не заставлять кликать второй раз, хотим его самостоятельно развернуть.

что то не выходит

osben avatar Mar 21 '18 10:03 osben

Вот так:

$('div.js-styler div.jq-selectbox__select').click();

Dimox avatar Mar 21 '18 16:03 Dimox

спасибо, еще маленький вопрос, не выходит сохранить контектс. К примеру у меня два селекта таких и конечно наполнить их хочу один раз. вроде должно так работать

$(".js-styler").styler();

$("div.js-change-city.disabled").on("click", function (e) {
  e.preventDefault();
  var options = "";

  for (i = 1; i <= 5; i++) {
    options += "<option>Опция " + i + "</option>";
  }

  $(".js-change-city.disabled")
    .find("select")
    .append(options)
    .prop("disabled",false)
    .trigger("refresh");

    $('div.jq-selectbox__select', this).click();
});

osben avatar Mar 21 '18 21:03 osben

По логике это должно было сработать. Я не могу понять, что не так.

Dimox avatar Mar 22 '18 14:03 Dimox

не работает, так как фактически на сайда два элемента по селектору div.js-styler div.jq-selectbox__select

и вызов клика открывает второй дропдаун если даже кликаешь по первому.

osben avatar Mar 22 '18 16:03 osben