Я использую jQuery Select2, и я столкнулся с проблемой, задающей значение и инициирующим событие.Select2 Programmatic Access
У меня есть простой выпадающий список select2, подключенный к источнику Ajax. Это прекрасно работает.
Я также событие ждет варианта ВЫБ.2 быть выбран:
// On project select, we add the projects to the list along with the parties
$('.projSearch').on("select2-selecting", function(e) {
// Set the value of the project
var projectID = e.val,
table = '';
alert(projectID);
console.log(e);
...
При использовании ВЫБ.2 ниспадающего меню, как нормальные, это событие работает отлично. Он определяет данные выбранного вами параметра.
Однако, я также включаю кнопку на странице, которая позволяет пользователю задавать данные поля. Он точно устанавливает данные, но никогда не вызывает событие select2-selecting
.
Я пробовал передавать данные вместе с событием, но неважно, когда при запуске события select2-selecting
он возвращает undefined
.
$(document).on("click", "[name=addProject]", function() {
// Set the vars
var projectName = $(this).attr('projectname'),
projectID = $(this).attr('projectid'),
projectNameLong = projectName + ' ('+projectID+')';
// Add the project to the list
$("[name=projects]").select2("data", [{id: projectID, text: projectNameLong}]).trigger("select2-selecting", {val: projectID, data: {id: projectID, text: projectNameLong}});
});
Как передать данные вместе с триггером, чтобы я мог получить к нему доступ в рамках мероприятия?
Спасибо за любую информацию!
действительно ли событие срабатывает, когда вы делаете это, как во втором фрагменте? – user907860
Он добавляет его в поле выбора, и оно отображается просто отлично. Тем не менее, нет данных, передаваемых вместе с ним, поэтому alert/console для 'e' всегда не определено – SBB
, насколько я помню, ваши данные доступны не непосредственно на объекте события, а в свойстве e.data – user907860