Обновить состояние на основе выбора объекта из выпадающего меню

Начиная с jQuery 1.7, вы должны использовать jQuery.fn.on :

$(staticAncestors).on(eventName, dynamicChild, function() {});

До этого рекомендуется использовать live() :

$(selector).live( eventName, function(){} );

Однако live() устарел в 1.7 в пользу on() и полностью удален в 1.9. Подпись live():

$(selector).live( eventName, function(){} );

... может быть заменена следующей on() сигнатурой:

$(document).on( eventName, selector, function(){} );

Например, если ваша страница динамически создавала элементы с именем класса dosomething, вы привязывали бы событие к родительскому, который уже существует (здесь есть нуль проблемы, вам нужно что-то, что существует для привязки, не привязка к динамическому контенту), это может быть (и самый простой вариант) - document. Хотя иметь в виду document, возможно, не самый эффективный вариант .

$(document).on('mouseover mouseout', '.dosomething', function(){
    // what you want to happen when mouseover and mouseout 
    // occurs on elements that match '.dosomething'
});

Любой родитель, который существует в момент привязки события, прекрасен. Например,

$('.buttons').on('click', 'button', function(){
    // do something here
});

применимо к

0
задан invrt 28 March 2019 в 01:43
поделиться

1 ответ

Несколько модификаций могут помочь.

Выбрать обработчик изменений

setTaskType = (event) => {
  const id = event.target.value;
  // continue with the rest of code
}

JSX выбрать элемент

<select className="input-field-slider dropdown w-select" value={this.state.taskId} onChange={this.setTaskType}>
  <option value=''>Select A Category</option>
    {Object.keys(taskTypes)
      .sort((a, b) => taskTypes[a].code.toLowerCase() > 
                     taskTypes[b].code.toLowerCase() ? 1 : -1)                                                      
      .map(taskId => 
        <option value={taskId} key={taskId}>{taskTypes[taskId].code}</option>
    )}
</select>

Подробнее см. В React Docs: выбрать тег

0
ответ дан Prithviraj Sahu 28 March 2019 в 01:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: