jQuery: модальный диалог с if else - PullRequest
0 голосов
/ 22 октября 2010

дорогой всем, мне нужно объединить два разных результата в одном скрипте. Проблема такова:

Если нажата #edit -> Показать диалоговое окно -> Нажать кнопку #ok внутри диалогового окна, затем выполнить функцию:

if($('#user').val() !== "admin" || $('#password').val() !== "qaubuntu") {
                  alert('Invalid login');
                  return false;
                  } else {
                            $('#dialog').dialog('close');
                            $('#tabs').show();
                            $('#editdata').show();
                            return false;
                            }

если #del нажал -> показать диалоговое окно -> нажать кнопку #ok внутри диалогового окна, затем выполнить функцию:

if($('#user').val() !== "admin" || $('#password').val() !== "qaubuntu") {
                      alert('Invalid login');
                      return false;
                      } else {
                                $('#dialog').dialog('close');
                                $('#tabs').show();
                                $('#deletedata').show();
                                return false;
                                }

Вы можете показать мне, как мне это сделать?

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Используйте класс для ссылок ex- "openDialog"

 var flag="";
 $(".openDialog").click(function () { 
 flag=$(this).attr('id');
 //now call show dialog here.....
 });

внутри кнопки ОК проверьте флажок

if($('#user').val() !== "admin" || $('#password').val() !== "qaubuntu") {
              alert('Invalid login');
              return false;
              } else {
                        $('#dialog').dialog('close');
                        $('#tabs').show();
                        //------------------
                          if(flag=='edit')
                             $('#editdata').show();
                          else if(flag=='del')
                             $('#editdata').show();
                        //-------------------
                        return false;
                        }
0 голосов
/ 22 октября 2010

Я бы, вероятно, связал событие click с селектором класса или типа, а не с id, и использовал бы класс для различения элементов, по которым щелкнули.

* 1003 например *

if($(this).hasClass("edit")){
    $('#editdata').show();
    return false;
}else{
    $('#deletedata').show();
    return false;
}

Вы также можете переместить функции отображения удаленных данных / редактирования данных в отдельную функцию с параметром, который помечает, какой из них отображать.

1008 * например *

function showDialogue(isEdit){
    if(isEdit === true){
            $('#editdata').show();
            return false;
    }else{
            $('#deletedata').show();
            return false;
    }
};
...