Добавить элемент только 1 раз

213
10 апреля 2018, 04:46

Здравствуйте, при нажатии на кнопку редактировать создаю новую кнопку отмена, но эта кнопка отмены содается каждый раз при нажатии на редактировать, как этого избежать, чтоб кнопка отмены создавалась только раз Кнопка редактирования

$(function() {
    $(document).on('click', '.btn_edit', function (e) {
        e.preventDefault();
        var url = $(this).attr('data-url');
        if(url == 'UPDEducation') {
            $('button#education').attr('data-url', 'UPDEducation');
            $('button#education').text('<?=$text_save?>');
            $('<button/>', {
                text: '',
                id: 'clear_fields_education',
                class: 'clear_fields btn btn-default get pull-right'
            }).appendTo('#education fieldset legend');
            $('input#id_education').val($(this).attr('data'));
            $('input#date_of_the_beginning').val($('#'+$(this).attr('data')+' #td_date_of_the_beginning').text());
            $('input#end_date').val($('#'+$(this).attr('data')+' #td_end_date').text());
            $('input#education_received').val($('#'+$(this).attr('data')+' #td_education_received').text());
            $('input#specialty').val($('#'+$(this).attr('data')+' #td_specialty').text());
            $('input#educational_institution').val($('#'+$(this).attr('data')+' #td_educational_institution').text());
        }
}) ;
}) ;

Кнопка отмены которая должна создаваться только один раз при нажатии на кн. редактировать

  $(function() {
    $(document).on('click', '#clear_fields_education', function (e) {
        e.preventDefault();
        $('button#education').attr('data-url', 'NewEducation');
        $('button#education').text('<?=$text_add?>');
        $('input#id_education').val('');
        $('input#date_of_the_beginning').val('');
        $('input#end_date').val('');
        $('input#education_received').val('');
        $('input#specialty').val('');
        $('input#educational_institution').val('');
        $('#clear_fields_education').remove();
    });
});
Answer 1

Вы можете создать глобольную переменную

var buttonCteated = false;

Затем при создании кнопки проверить

if (!buttonCreated) {
  create_button();
  buttonCreated = true;
}
Answer 2

Поместите элемент

<button id="clear_fields_education" class="clear_fields btn btn-default get pull-right" 
  type="button" style="display:none;"></button>

в маркап изначально внутри '#education fieldset legend' и делайте:

$('#clear_fields_education').show();
$('#clear_fields_education').hide();

в нужных местах вместо appendTo и remove.

Или

if ($("#clear_fields_education").length == 0) {
  $('<button/>', {
    text: '',
    id: 'clear_fields_education',
    class: 'clear_fields btn btn-default get pull-right'
  }).appendTo('#education fieldset legend');
}
READ ALSO
JS в Visual Studio Code [требует правки]

JS в Visual Studio Code [требует правки]

Нужна помощь по JSКогда в сообщении присутствует определенное слово, например "Компьютер", через message

167
JQuery перекрасить строку при условии

JQuery перекрасить строку при условии

Всем привет, хочу перекрасить строку в таблице с помощью JQuery и для этого я использую этот метод:

178
Подключение к сокету+куки

Подключение к сокету+куки

Необходимо подключиться к сокету , не через сайт , а на прямуюИмеется сайт с сокетом , к которому после авторизации из браузера(selenium) подключаюсь...

185