У меня есть таблица, содержащая список документов. Когда вы нажимаете на флажок рядом с этим документом, его копия появляется в отдельном блоке («Список избранного», если хотите).
Я создал собственное контекстное меню и хочу, чтобы один из его параметров делал то же самое, что и выше.
Я пытался связать событие onClick для контекстного меню с исходной частью, которая нажимает нафлажки, но ничего не происходит, когда я пытаюсь нажать «Добавить в избранное» в контекстном меню.
Есть мысли?
Фрагмент JS:
function faveFunc(evt) {
const $table = $("#km-table-id")
let table = $table.DataTable();
let favesArr = [];
let data = table.row(this.parentNode).data(),
checked = $(this).is(":checked"),
dataIndex = favesArr.indexOf(data);
if (checked) {
if (dataIndex === -1) {
favesArr.push(data); // add item
}
} else {
if (dataIndex > -1) {
favesArr.splice(dataIndex, 1); // remove item
}
}
// - Appending selected faves to div - //
($(".populate-faves").empty()); // removes all previous entries
for (var i = 0; i < favesArr.length; i++) {
$(".populate-faves").append(JSON.stringify(favesArr[i].Titles) + '<br/><br/>').addClass("faved-doc");
}
}; // ------------ faveFunc
$("#km-table-id.checkbox-class, [data-action='add']").on("click", faveFunc)
console.log(faveFunc)
HTML:
<ul class="custom-menu">
<li data-action="open">Open Document</li>
<li id="add-id" data-action="add">Set As Favorite</li>
<li data-action="email"><a href="mailto:?subject=subject">Email Document</a></li>
</ul>