coderisimo
@coderisimo

Почему не работает данный JS велосипед?

Пишу приложение, где много простых диалогов. Использую бутстрап модальные окна. Написал велосипед-функцию, которой передается объект с параметрами, после чего показывается окно нужной конфигурации. Ничего особенного - либо показываем кнопку 'ок' либо нет. а если показываем, то вешаем на нее какую-либо функцию.выглядит все вот так :

в разметке лежит такой див -
<div class="modal fade" tabindex="-1" role="dialog" id='modal_dialog_for_all'>
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h5 class="modal-title">Message From Admin Panel</h5>
      </div>
      <div class="modal-body">
          <h4><span id='modal_message'>32323232 </span></h4>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-primary modal-ok-button">Ok</button>
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div>
    </div><!-- /.modal-content -->
  </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


в JS вот такая ф-ция :

function showModalWin(obj) {
        if (typeof (obj) === 'undefined') {
            var obj = {};
        }
        if (obj.ok_hide) {
            $('.modal-ok-button').hide();
        } else {
            $('.modal-ok-button').show();
        }
        if (obj.func) {
            $(".modal-ok-button").bind("click", function () { // кнопка на форме, по клику на которую должна срабатывать функция
                return obj.func(obj.func_param);
            });
        }
        if (obj.message) {
            $('#modal_message').text(obj.message);
        }
        $('#modal_dialog_for_all').modal('show');
    }


затем в коде использую вот так :

$('tbody').on('click', '.delete-casino-butt', function () {
        var id = $(this).closest('tr').find('td:eq(0)').text();


        showModalWin({
            message: 'Item Will Remove From Database! Are you sure?',
            ok_hide: false,
            func: deleteItem, // это функция ,объявленная в том же файле
            func_param: id
        });
    });

// далее при закрытии формы удаляю вызов функции deleteItem , в следующий раз будет другая

  $('#modal_dialog_for_all').on('hidden.bs.modal', function (e) {
      
        $('.modal-ok-button').unbind("click");

    });


работает все криво. ((( подскажите, как реализовать сее оптимально? Спасибо!
  • Вопрос задан
  • 245 просмотров
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы