// 単位 var taniData = jQuery.parseJSON('[{"tani":"\u68df","sort_no":"1"},{"tani":"\u6a5f","sort_no":"2"},{"tani":"\u8eca","sort_no":"3"},{"tani":"\u672c","sort_no":"4"},{"tani":"\u4ef6","sort_no":"5"},{"tani":"\u5f0f","sort_no":"6"}]'); // 単位リスト作成 function openTaniWindow(retObj) { var parentObj = retObj.closest('[data-select-type="tani"]'); 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 () { // リスト取得・反映 renderTaniList(taniData, 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 renderTaniList(data, retObj, listObjPath) { // リストへ反映 jQuery(listObjPath).empty(); jQuery.each(data, function(index, elem) { listHtml = '\ '+ jQuery.trim(elem.tani) +''; jQuery(listObjPath).append(listHtml); }); // 単位選択 jQuery(listObjPath + '>tr>td, ' + listObjPath + '>tr>td>a').on('click', function(event){ event.preventDefault(); var tani = $(this).closest('tr').find('td.tani').text(); retObj.val(tani).change(); }); }