/*-----------------------------------------------------
search_dropdown.js
æ¤ç´¢æ¡ä»¶ãé¸æããããã®ãããããã¦ã³ã¡ãã¥ã¼ãå¶å¾¡ãã
-------------------------------------------------------*/
$(function () {
dropdown();
});
function dropdown () {
var dropdown = $('#dropdown');
if (dropdown.length > 0) {
var filterInput = $('#filter-input');
var label = dropdown.find('.select').children('.label');
// ã¡ãã¥ã¼å±é
label.click(function (e) {
e.stopPropagation();
$(this).next().toggleClass('active');
});
// ããããã®æ¤ç´¢æ¡ä»¶ãã¯ãªãã¯ããå ´å
// ã¡ãã¥ã¼ãéãã¦ãæå®ããæ¤ç´¢æ¡ä»¶ã®ããã¹ãã表示ããã
var items = dropdown.find('.list').children('li');
items.each(function () {
$(this).click(function (e) {
e.preventDefault();
var option = $(this).data('option') || $(this).children('p').data('option');
var text = $(this).text();
label.text(text);
filterInput.val(option);
if ($(this).parent()[0].tagName.toLowerCase() === 'ul' &&
$(this).parent().hasClass('active')) {
$(this).parent().removeClass('active');
}
});
});
// ã¡ãã¥ã¼ãéãã
var toggleCloseDropdown = function () {
if (label.next().hasClass('active')) {
label.next().removeClass('active');
}
}
// Escãã¼ãæ¼ããå ´åã¡ãã¥ã¼ãéãã
document.addEventListener('keydown', function (e) {
if (e.keyCode === 27) {
toggleCloseDropdown()
}
});
// ã¯ãªãã¯ããé åãã¡ãã¥ã¼ä»¥å¤ã®å ´åãã¡ãã¥ã¼ãéãã
$(document).click(function (e) {
if (!$(e.target).closest('.list').length) {
toggleCloseDropdown();
}
});
}
}