✏️ 正在编辑: tag-input.js
路径:
/srv/systems_dir/yuppiecred/public/scripts/tag-input.js
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
var keySeparator = [9, 108, 110, 111, 188, 190, 191, 220]; $(document).on('ready', function () { initInputTag(); $('.tag-input').on('focusout', function () { insertTag(9, $(this)); }); $('.tag-input').on('keydown', function (e) { if (isKeySeparator(e.keyCode)) { e.preventDefault(); } insertTag(e.keyCode, $(this)); }); $('.tag-i').on('click', function () { seeTags($(this)); }); }); function insertTag(keyCode, element) { if ( isKeySeparator(keyCode) && element.val() !== '' && element.val() !== null ) { var inputName = element.attr('data-input'); var value = element.val(); if (tagExists(inputName, value)) { element.val(null); return false; } updateInputValues(inputName, value); var spansElement = $('#' + element.attr('name') + '_spans'); var spans = spansElement.html() + getTag(inputName, element.attr('name'), element.val()); spansElement.html(spans); element.val(null); } } function seeTags(element) { var tagsElement = $('#' + element.attr('data-input') + '_tag_spans').find('[class="tag-span"]'); if (tagsElement.length < 1) { tagsElement = ''; } Swal.fire({ html: tagsElement, confirmButtonText: "OK", }); $('.swal2-html-container').addClass('seeTags'); } function initInputTag() { $('.tag-input').each(function() { var valuesToPopulate = $(this).val(); var name = $(this).attr('name'); var onkeypress = $(this).attr('onkeypress'); $(this).parent().html( createElement(name, onkeypress) ); populateValue(document.getElementsByName(name + "_tag"), valuesToPopulate); }); } function createElement(name, keypress) { var id =' id="' + name + '_tag_spans" '; return getInput(name, keypress) + '<div'+ id + 'class="div-tag-span" >' + '<div class="tag-span clean-span"></div>' + '</div>' ; } function getTag(input, name, value) { var id = 'id="' + name + '_' + value + '"'; var dataInput = 'data-input="' + input + '" '; var dataValue = 'data-value="' + value + '" '; var onclick = 'onclick="removeTag(this)" '; return '<div ' + id + ' class="tag-span">' + '<span class=" tag tag-text">' + value + '</span>' + '<a ' + onclick + dataInput + dataValue + 'class="tag-remove">x</a>' + '</div></div>' ; } function getInput(name, keypress) { var onKeypress = ' onkeypress="' + keypress + '"'; var id = 'id="' + name + '-tag-input"'; var seeId = 'id="' + name + '-tag-see"'; var tagInput = ' data-input="' + name + '"'; var nameElement = 'name="' + name + '_tag"'; return '<div ' + id + ' class="div-tag-input">' + '<input ' + tagInput + nameElement + onKeypress + ' class="tag-input">' + getInputHidden(name) + '<i ' + seeId + ' class="tag-i glyphicon-reg glyphicon-reg-search"' + tagInput + '"></i>' + '</div>' ; } function getInputHidden(name) { return '<input type="hidden" id="' + name + '" name="' + name + '">'; } function isKeySeparator(key) { return keySeparator.indexOf(key) !== -1; } function execMask(mask, value) { if (mask === 'n') { return soNumeros(value); } return value; } function updateInputValues(inputName, value) { var element = $('#' + inputName); var oldValue = element.val(); if (!oldValue || oldValue === '' || oldValue === null) { element.val(value); return false; } element.val(oldValue + ',' + value); } function tagExists(inputName, value) { if ($('#' + inputName + '_tag_' + value).length > 0) { return true; } } function removeTag(element) { var nameInput = $(element).attr('data-input'); var value = $(element).attr('data-value'); $('#' + nameInput + '_tag_' + value).remove(); $(element).parent().remove(); removerTagValue(element, value); } function removerTagValue(element, value) { var elementInput = $('#' + $(element).attr('data-input')); var values = elementInput.val().split(','); values = values.filter(function (val) { return val !== value; }); elementInput.val(values.join(',')); } function populateValue(element, valuesToPopulate) { var values = valuesToPopulate.split(','); values.map(function (val) { $(element).val(val); insertTag(9, $(element)); }); }
💾 保存文件
← 返回文件管理器