2013-07-11 2 views
0

У меня есть мое первое приложение с jQuery, и у меня есть оба моих диалоговых окна, созданные и выполняемые, как и должно быть, и появляется окно входа когда я нажимаю логин (в меню «Файл»), но я не могу получить окно «Открыть», когда я нажму «Открыть».Невозможно открыть диалоговое окно jQuery для открытия по пункту меню.

Вот мой JQuery код для обоих диалогах:

$("#login-form").dialog({ 
    autoOpen: false, 
    height: 350, 
    width: 350, 
    modal: true, 
    buttons: { 
     "Log In": function() { 
      var bValid = true; 
      allFields.removeClass("ui-state-error"); 

      bValid = bValid && checkLength(username, "username", 3, 16); 
      bValid = bValid && checkLength(password, "password", 5, 16); 

      bValid = bValid && checkRegexp(username, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter."); 
      bValid = bValid && checkRegexp(password, /^([0-9a-zA-Z])+$/, "Password may consist of : a-z 0-9"); 

      if (bValid) { 
       if (username.val() == "admin" && password.val() == "password") { 
        $("#users tbody").append("<tr>" + "<td>" + username.val() + "</td>" + "<td>" + password.val() + "</td>" + "</tr>"); 
        $(this).dialog("close"); 
       } else { 
        alert("Invalid Username/Password Combo"); 
       } 
      } 
     }, 
     Cancel: function() { 
      $(this).dialog("close"); 
     } 
    }, 
    close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
    } 
}); 

$("#dateturn-form").dialog({ 
    autoOpen: false, 
    height: 550, 
    width: 350, 
    modal: true, 
    buttons: { 
     "Accept": function() { 
      $("#content-left").append("<p>Date: " + dateinput.val() + " turn: " + turnvalue + "</p>"); 
      $(this).dialog("close"); 


     }, 
     Cancel: function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

$("#login") 
    .click(function() { 
    $("#login-form").dialog("open"); 
}); 

$("#open") 
    .click(function() { 
    $("dateturn-form").dialog("open"); 
}); 

А вот ссылка jsFiddle к проекту: http://jsfiddle.net/CHBrn/1/ По какой-то причине, как я уже говорил выше, нажав на кнопку Open не будет запущен проект.

ответ

4

Еще раз Алекс :) ​​У вас не хватает # в селекторе

DEMO

+0

Хахахаха, спасибо, что указали это. И да, еще раз, ха-ха. Это мой первый опыт работы с jQuery, и я многому научился, чему его научили, а не читал руководства. Конечно, не поймите меня неправильно, я определенно просматриваю документацию, как и я, но глупые ошибки, подобные этому, не будут отображаться в документации API, ха-ха. спасибо. :) –

+1

hahaha ... Не стоит беспокоиться, Человек учится на ошибках .. :) Привет! Happy Coding :) –

+1

Большое вам спасибо! Это абсолютно счастливое кодирование. У меня были друзья, рассказывающие мне о чудесах jQuery раньше, но я всегда записывал это как слишком много работы, но теперь я сдулся. За последние два дня я так многому научился. –

4

Вам не хватает хеша (#).

Заменить

$("dateturn-form").dialog("open"); 

с

$("#dateturn-form").dialog("open"); 

Demo

+0

О, боже. Спасибо. Я чувствую себя настолько немым для этого. –

+1

@AlexKibler, мы все совершили такую ​​ошибку. Вы не должны чувствовать себя глупо об этом. Я помню, как однажды я провел три дня, пытаясь исправить ошибку и вовлек всех в офис, и мы все пропустили небольшую опечатку, которая вызывала проблему. ;) –

+0

Ха-ха, это звучит как проблема. Я делал это все время с двоеточиями и точками с запятой, когда принимал уроки C++ в колледже. –

Смежные вопросы