• Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко, ну как-будто кто-то заставлял, я сразу сказал, что понимаю что такое id, какой смысл мне это было повторять. Вопрос то с этим никак не связан.
  • Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко,
    Если бы мне нужно было использовать бутстраповский аккордеон в динамике например при посадке на вордпресс и я не знаю сколько будет ячеек как по вашему я это буду делать?


    Так речь не про один аккордеон, его то содержимое логично по разным id разбивать, это да.

    У меня же 3 одинаковых аккордеона на 3 разных бутстраповских вкладках. Если я открою один - откроются все, закрою один - закроются все. А я хочу, чтобы действия с одним не отражались на других, т.к. они находятся в разных вкладках, в разных родителях. Но да, на одной странице. Поэтому и ищу как это ограничить.
  • Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко, это код переключения вкладок? Bootstrap tabs это сами делают, у меня к ним вопросов вообще нет., там пусть будут и должны быть разные id.

    Речь конкретно про эту часть кода:
    <div class="tab-content" id="myTabContent">
      <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
        <select id='my-id'></select>
      </div>
      <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">
        <select id='my-id'></select>
      </div>
      <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">
        <select id='my-id'></select>
      </div>
    </div>


    Вот это 3 тела 3 разных вкладок. Пишу я, например:
    $('#my-id').select2();
    Инициализируется только первый селект с первой вкладки. Поэтому я должен ограничить область:
    $('select', '<tab-id>').select2();
    Теперь все 3 селекта на всех трех вкладках будут инициализированы.

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

    Вот исходя из такой логики осталось разобрать конструкцию бутстраповского аккордеона, например, ведь здесь гораздо больше идентификаторов:
    <div class="accordion" id="accordionExample">
    
    <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
    
    <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">


    Вот остается всем идентификаторам префиксы тут давать, а я не хочу, поэтому и ищу другой способ ограничить область видимости.
  • Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко, Для jquery эвентов я нашел следующее:

    $( '<element>', '#home' )
    $( '<element>', '#profile' )
    $( '<element>', '#contact' )


    Т.е. таким образом мне нет надобности давать отдельный идентификатор элементу и я могу достать его с помощью ID вкладки. Т.е. область ограничена и ничего лишнего.

    А вот что делать с элементами типа бутстраповского аккордеона я пока не знаю.
  • Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко,
    На странице не может быть одинаковых id


    Да, я понимаю. Поэтому я хотел бы, чтобы каждое тело каждой вкладки считалось бы отдельной страницей.

    Допустим, есть бутстраповский аккордеон. Я беру и вставляю на каждую вкладку одинаковый код этого аккордеона. Теперь я нажимаю на аккордеон на вкладке 1, он открывается, перехожу на вкладку 2 и там уже открытый аккордеон. Логично. ID же и все прочее у этих аккордеонов одинаковые.

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

    Но:
    1) Я не хочу заменять содержимое вкладок или как-то их обновлять при переходах на другие вкладки. Мне важно сохранять данные на каждой. Т.е. что-то типа $('.tab-content').html('<вкладка на которую кликнули>') мне не подходит.
    2) Я не хочу иметь разные id элементов на всех вкладках.
  • Как использовать одинаковый id на разных вкладках (nav tabs)?

    @aaltw Автор вопроса
    Антон Литвиненко, если у меня на одной странице несколько элементов с одинаковым идентификатором, то любой код, который будет использовать этот идентификатор будет обращаться к каждому из таких одинаковых элементов, а мне нужно их разделять.

    Леонид, потому что я наоборот хочу избавиться от единого поведения.
  • Почему flex-shrink-1 работает не как ожидается?

    @aaltw Автор вопроса
    Ankhena, да, с flex-shrink: 0 работает как нужно, как и с flex: none. Но почему? Если у них изначально у всех flex-shrink: 1, то почему тогда при явном его добавлении все меняется. Или у flex элементов что-то типа flex-shrink: auto ?
  • Как в dropdown-menu перенести текст, который не помещается в максимальную ширину?

    @aaltw Автор вопроса
    andand44, т.е. максимальная ширина не может ограничить перенос текста и можно только конкретику выставлять и все?
  • Как в dropdown-menu перенести текст, который не помещается в максимальную ширину?

    @aaltw Автор вопроса
    andand44, мелкие экраны тут не причем, этот текст заранее неизвестен и может быть любой ширины. Мне нужно, чтобы он помещался ровно до максимальной ширины дропдауна, а после переносился. А если я буду устанавливать ширину просто, то у меня будут дропдауны, в которых слишком много лишнего места.

    Цель как раз в том, чтобы содержимое дропдауна определяло его ширину, но не более, чем его максимальная ширина.
  • Как в dropdown-menu перенести текст, который не помещается в максимальную ширину?

    @aaltw Автор вопроса
    Нет, тоже самое, что и на .dropdown-item, только теперь будет переноситься текст в p. Тоже без учета максимальной ширины, текст будет перенесен сразу, как только ширина p достигнет ширины li, а эта ширина ограничена остальным контентом в li.

    Мне же нужно, чтобы текст в p имел длину максимальной ширины, а если не помещается, то только тогда бы происходил перенос.
  • Как выбрать курс по Ruby on Rails с годом опыта?

    @aaltw Автор вопроса
    d-sem, да, вот из поиска я и вижу, что в основном все уже знакомо. Я думал может есть что-то типа "dive into RoR" или что-то в этом роде, смысл которых бы заключался в продвинутом использовании фреймворка, а не знакомстве на примере шаблонных приложений. Поиск по "ruby on rails advanced courses" тоже ничего нового пока не дал.

    Может кто сталкивался с необходимостью "углубления" знаний и подскажет что делать дальше вообще. Или может есть курсы, нацеленные на повышения качества знаний о вэбе в принципе.
  • Как получить записи из базы в порядке where?

    @aaltw Автор вопроса
    alfss, да, с доп. таблицей проблемы бы не возникло, но я думал, что получится без нее. Я начал искать что-то вроде join или merge Activerecod Relation и Hash-а, но тоже ничего не нашел.

    Получается, что такая связь возможна лишь через доп. таблицу и все?
  • Как получить записи из базы в порядке where?

    @aaltw Автор вопроса
    alfss,

    columns
    id name
    1 col1
    2 col2


    user_settings
    id name params
    1 user1 [{"col_id": 1, "place": 2}, {"col_id": 2, "place": 1}]
    2 user2 [{"col_id": 1, "place": 1}, {"col_id": 2, "place": 2}]


    Вот так получается. Т.е. эти таблицы не связаны столбцами никак. Связано поле params и столбец id в таблице columns. И мне нужно достать сами названия из columns, но отсортировать их по place в params. И каждый пользователь имеет разные params.
  • Как получить записи из базы в порядке where?

    @aaltw Автор вопроса
    alfss, вообще есть 2 таблицы: columns и user_settings. В первой id колонок и названия, а во второй id пользователя и столбец params, куда предполагалось складывать пользовательские настройки сортировки по типу {"col_id": 1, "place": 2}, {"col_id": 2, "place": 1}.

    Но я не знаю как связать эти таблицы между собой, чтобы можно было достать названия из columns, а сортировку произвести по значению в params.
  • Как получить записи из базы в порядке where?

    @aaltw Автор вопроса
    https://gist.github.com/cpjolicoeur/3590737

    class Something < ActiveRecrd::Base
    
      scope :for_ids_with_order, ->(ids) {
        order = sanitize_sql_array(
          ["position(id::text in ?)", ids.join(',')]
        )
        where(:id => ids).order(order)
      }    
    end
    
    # usage:
    Something.for_ids_with_order([1, 3, 2])


    Нашел такое, вроде, работает. Но может есть лучше способ.

    Но это уже использовать нельзя:
    DEPRECATION WARNING: Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s)
    Non-attribute arguments will be disallowed in Rails 6.0. This method should not be called with user-provided values, such as request parameters or model attributes

    Так что точно нужен другой способ.
  • Почему onclick работает по разному?

    @aaltw Автор вопроса
    Просто значение этого чекбокса нужно не прям в функции, которую он вызывает при нажатии. Т.е. вызывается recalc(), а потом она вызывает еще одну функцию и уже та проверяет по id значение чекбокса.

    И вот почему-то в первой реализации это значение меняется на момент выполнения второй функции, а во второй реализации - нет. Как на это могла повлиять версия bootstrap-а не совсем понимаю. Возможно, это связано с тем, что раньше jquery подгружал сам bootstrap, а теперь он грузится отдельно.
  • Почему onclick работает по разному?

    @aaltw Автор вопроса
    Артем, тоже самое

    Fedor Vlasenko, так id уникальное, это 2 взаимозаменяемых варианта. Или я не понял тогда почему оно не уникальное. Через this работает, да, я пока на него и поменял, просто пытаюсь понять почему jquery стал себя по другому вести.
  • Как добавить новое значение в строку по паттерну?

    @aaltw Автор вопроса
    А если в строке еще будут русские символы? Пытаюсь с \p{Cyrillic} скомбинировать, но чет не выходит.