Установите флажок выбора выпадающего списка JS в соответствующее положение и улучшите внешний вид выпадающего списка

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Я пытаюсь реализовать выпадающий список / список выбора в JS, и вот что я написал:

 //some js code

#startJobDialog (A dialog box in JS)

// js code


var markUp = "<ul id='topMenu' class='ui-menu ui-widget ui-widget-content' role='menu' tabindex='0' style='display: table; width: 220px; margin: 0 auto;'>rn";
  markUp  = "t<li data-menu='job' class='ui-menu-item' id='ui-id-2' tabindex='2' role'=menuitem' style='display: inline-block; width: 220px; vertical-align: top; horizontal-align: center'><span class='ui-icon ui-icon-triangle-1-s'></span>rn";
  markUp  = "<ul class='subMenu ui-menu ui-widget ui-widget-content' id='jobMenu' role='menu' tabindex='-1' style='display: block; padding-left: 40px;'><li class='ui-menu-item' id='ui-id-5' tabindex='0' role='menuitem'><br></br>-->Tier1 VAE<br></br></li > <li class='ui-menu-item' id='ui-id-6' tabindex='1' role='menuitem'>-->Tier1 Non-VAE<br></br></li><li class='ui-menu-item' id='ui-id-7' tabindex='2' role='menuitem'>-->Tier2<br></br></li><li class='ui-menu-item' id='ui-id-7' tabindex='3' role='menuitem'>-->Tier1 Smart Conversion<br></br></li></ul></li>rn";

  $("#startJobDialog").html(markUp);

...
 

Согласно приведенному выше коду, я устанавливаю значение HTML markup #startJobDialog , и он выдает мне следующий вывод:

Вывод JS

Как вы можете видеть, всякий раз, когда я выбираю элемент в списке меню, selection checkmark он находится под выбранным элементом, но я действительно хочу, чтобы он был рядом с выбранным элементом. Похоже, ширина правильная, и я попытался ее настроить. Я не эксперт по JS, я в начальных упражнениях — любые идеи о разных классах, стилях и других параметрах в отношении <ul>, <li> и т. Д. помогло бы, и я действительно хочу, чтобы этот выпадающий список выглядел лучше, чем сейчас.

Как установить этот флажок в нужном / моем желаемом положении в JS и улучшить внешний вид списка выбора?

Комментарии:

1. Это не похоже на проблему JS. Вам просто нужно выяснить, что такое правильный HTML и CSS, а затем заставить JS создать это.

2. что вы подразумеваете под «созданием» вашего JS — какие параметры мне нужно посмотреть

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

Ответ №1:

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

Оттуда попробуйте абсолютное позиционирование ваших элементов.

В этом посте я привел пример фрагмента вашего кода, просто чтобы посмотреть и поиграть с ним. Вы можете видеть <br> , что к тому, что, как я бы предположил, является выбранным по умолчанию элементом, добавляется множество «s». Я не вижу, где добавляется галочка.

Если вы предоставите фрагмент текста, я смогу помочь вам в дальнейшем. Но плавающее или абсолютное позиционирование может быть одним из вариантов. Или вы можете использовать псевдоселекторы ::before или ::after .

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

 var markUp = "<ul id='topMenu' class='ui-menu ui-widget ui-widget-content' role='menu' tabindex='0' style='display: table; width: 220px; margin: 0 auto;'>rn";
  markUp  = "t<li data-menu='job' class='ui-menu-item' id='ui-id-2' tabindex='2' role'=menuitem' style='display: inline-block; width: 220px; vertical-align: top; horizontal-align: center'><span class='ui-icon ui-icon-triangle-1-s'></span>rn";
  markUp  = "<ul class='subMenu ui-menu ui-widget ui-widget-content' id='jobMenu' role='menu' tabindex='-1' style='display: block; padding-left: 40px;'><li class='ui-menu-item' id='ui-id-5' tabindex='0' role='menuitem'><br></br>-->Tier1 VAE<br></br></li > <li class='ui-menu-item' id='ui-id-6' tabindex='1' role='menuitem'>-->Tier1 Non-VAE<br></br></li><li class='ui-menu-item' id='ui-id-7' tabindex='2' role='menuitem'>-->Tier2<br></br></li><li class='ui-menu-item' id='ui-id-7' tabindex='3' role='menuitem'>-->Tier1 Smart Conversion<br></br></li></ul></li>rn";

  $("#startJobDialog").html(markUp); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div id="startJobDialog"></div> 

Комментарии:

1. давайте пообщаемся, и я смогу показать разметку или инструмент, который я использую, и пытаюсь применить приведенный выше сценарий JS. Можете ли вы пригласить меня? Мне нужно поделиться информацией для входа в учетную запись

2. Извините, я не понял этого до сих пор. Вам все еще нужна помощь в этом? На что ты хочешь, чтобы я тебя пригласил?