// 単位
var typeData = jQuery.parseJSON('[{"type":"8-6","sort_no":"1"},{"type":"9-6","sort_no":"2"},{"type":"DRY","sort_no":"3"},{"type":"96CL3\u8ef8","sort_no":"4"},{"type":"CLEAN","sort_no":"5"},{"type":"3\u8ef8","sort_no":"6"},{"type":"\u30bf\u30f3\u30af","sort_no":"7"},{"type":"R\/F","sort_no":"8"},{"type":"O\/T","sort_no":"9"},{"type":"F\/T","sort_no":"10"},{"type":"H\/T","sort_no":"11"},{"type":"9\/R\u30fbF","sort_no":"12"},{"type":"86CL","sort_no":"13"},{"type":"96CL","sort_no":"14"}]');
// 単位リスト作成
function openTypeWindow(retObj) {
var parentObj = retObj.closest('[data-select-type="type"]');
var btnObj = parentObj.find('.dropdown-toggle');
var dropdownId = btnObj.attr('id') + '_dropdown';
if (jQuery('#'+dropdownId).length < 1) {
parentObj.append('
');
var dialogHtml = '\
\
';
jQuery('#'+dropdownId).html(dialogHtml);
}
// 表示時処理
parentObj.on('show.bs.dropdown', function () {
// リスト取得・反映
renderTypeList(typeData, retObj, '#' + dropdownId + ' .table-list>table>tbody');
});
parentObj.on('shown.bs.dropdown', function () {
jQuery('#' + dropdownId + ' a:enabled').first().focus();
});
// 非表示時処理
parentObj.on('hidden.bs.dropdown', function () {
btnObj.focus();
});
}
// 単位リスト作成
function renderTypeList(data, retObj, listObjPath) {
// リストへ反映
jQuery(listObjPath).empty();
jQuery.each(data, function(index, elem) {
listHtml = '\
'+ jQuery.trim(elem.type) +' |
';
jQuery(listObjPath).append(listHtml);
});
// 単位選択
jQuery(listObjPath + '>tr>td, ' + listObjPath + '>tr>td>a').on('click', function(event){
event.preventDefault();
var type = $(this).closest('tr').find('td.type').text();
retObj.val(type).change();
});
}