Multi Select Array base index find
Multi Select Array base index find
by Khadeer Mohammed
HTML
<input id="searchSrc" />
<div data-id="virtualList" id="sourceList">
<select class="listbox" multiple>
</select>
</div>
JavaScript
var srcArr = [
{table_name: "\" EMP100\"", table_id: "23200", table_owner: "QASRC1", checked: false},
{table_name: "\" EMP1001\"", table_id: "23201", table_owner: "QASRC1", checked: false},
{table_name: "\"$AMPLE\"", table_id: "25411", table_owner: "QASRC1", checked: false},
{table_name: "\"$AMPLE_20200715\"", table_id: "25412", table_owner: "QASRC1", checked: false},
{table_name: "\"$SANTHU$\"", table_id: "25413", table_owner: "QASRC1", checked: false},
{table_name: "\"$SANTHU1$\"", table_id: "25414", table_owner: "QASRC1", checked: false},
{table_name: "\"$SANTHU123$\"", table_id: "25415", table_owner: "QASRC1", checked: false},
{table_name: "\"$SANTOSH£_TEMP$\"", table_id: "25416", table_owner: "QASRC1", checked: false},
{table_name: "\"$SANTOSH£_TMP$\"", table_id: "25417", table_owner: "QASRC1", checked: false},
{table_name: "\"$TABLE01SPCL\"", table_id: "25419", table_owner: "QASRC1", checked: false},
{table_name: "\"$TABLESPCL\"", table_id: "25420", table_owner: "QASRC1", checked: false}
]
var searchSrcArr=[];
var options = srcArr.map((option, i) => `<option data-id="${i}" value='${option.table_id}'>${option.table_name}</option>`)
$("select").html(options);
console.log(options);
var selectedIndex = [];
$(document).on("change", ".listbox", function(e){
debugger
var arr = [];
var dataId = $(this).closest("[data-id=virtualList]").attr("id");
var searchSrcVal = $("#searchSrc").val();
var searchTgtVal = $("#searchTgt").val();
if(dataId == "sourceList"){
arr = searchSrcVal === "" ? (arr = srcArr) : (arr = searchSrcArr);
} else {
arr = searchTgtVal === "" ? (arr = tgtArr) : (arr = searchTgtArr);
}
var selected = $("#"+dataId+ " select").find("option:selected");
if(selected.length === 1){
var index = $(selected).attr("data-id");
for(var i=0; i<arr.length; i++){
arr[i].checked = false;
}
arr[index].checked = true;
selectedIndex = [];
...