Можно ли иметь прослушиватель действий для элемента элемента списка и передавать его в качестве параметра в JavaScript?

Можно ли установить прослушиватель действий для элемента списка в HTML и передать то, что пользователь щелкнул в JavaScript?

Индекс.html:

<div class = "dropdown">
<button class = "btn d-flex align-items-center" type = "button">
    <h3 class = "fs-1 fw-bold">Set Limit</h3>
</button>
<ul class = "dropdown-menu">
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
</div>

<script>
$(function() {

   // I want this to be able to get its value
   // depending on what the user clicked from the <li> tag
   var limit = 1;
});
</script>

Я обновил свой код сейчас, чтобы

Индекс.html:

<select id = "dropdown">
   <option value = "A" data-number = "1">option1</option>
   <option value = "B" data-number = "2">option2</option>
   <option value = "C" data-number = "3">option3</option>
   <option value = "D" data-number = "4">option4</option>
</select>

<script>
$('#dropdown').change(function(){
   var number = $(this).find('option:selected').attr('data-number');
});

$(function() {
   /* I am unsure now on how to get the number variable from above and put it here in my var limit */
   var limit = ;
});

</script>

Вы используете здесь много противоречивого кода/слов. Ваш код представляет собой неупорядоченный список с некоторыми элементами списка. Но его класс «раскрывающийся» (?). Вы говорите о «значении» элемента списка, но значения чаще связаны с параметрами выбора/раскрывающегося списка. Вам просто нужен неупорядоченный список или вам нужен элемент выбора с параметрами, у которых есть атрибут value, который вы можете выбрать?

Andy 26.04.2023 02:47

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

Dhenhice 26.04.2023 02:56
выберите , а список - какой хотите?
Andy 26.04.2023 03:01

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

Dhenhice 26.04.2023 03:17
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
4
52
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Поскольку вы уже используете запрос, я предлагаю использовать on

<script>
    var currentLimit = 1;
    $(function() {
       $("li").on("click", function ()
       {
          currentLimit = parseInt(this.innerText);
       });
    });
</script>

Извините, я новичок в запросах, как я смогу сохранить 1 в моей переменной?

Dhenhice 26.04.2023 02:46
Ответ принят как подходящий

Я думаю, это действительно зависит от вашего потока данных. Здесь я беру выбранное значение из элемента select в обработчике change и передаю его в качестве аргумента функции с именем main, которая выводит его на консоль.

Примечание. Я переместил значение из атрибута data-number в значение (иначе какой смысл в значении...?)

$('select').on('change', handleChangeEvent);

function handleChangeEvent() {
  const limit = $(this).val();
  main(limit);
}

function main(limit) {
  console.info(limit);
}
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<link href = "https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel = "stylesheet"/>

<select class = "form-select">
  <option selected disabled>Select an option</option>
  <option value = "1">option1</option>
  <option value = "2">option2</option>
  <option value = "3">option3</option>
  <option value = "4">option4</option>
</select>

Другие вопросы по теме