Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   autocomplete в модальном окне (https://javascript.ru/forum/jquery/32755-autocomplete-v-modalnom-okne.html)

lukingnu 29.10.2012 13:18

autocomplete в модальном окне
 
Есть скрипт
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
    <script>
    $(function() {
        var availableTags = [
            "Ростов",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme"
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });
    </script>
</head>
<body>

<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags" />
</div>


</body>
</html>


Работает хорошо,но если его открыть в окне facebox,то появляется ошибка $("#tags").autocomplete is not a function
Как исправить?

DjDiablo 29.10.2012 15:01

такое сообщение может появлятся если #tags не удаётся найти

покажи как окно открываешь

lukingnu 29.10.2012 15:36

Как открываю?Как обычно facebox открывают
jQuery(document).ready(function($) {
$('a[rel*=facebox]').facebox({
loading_image : 'loading.gif',
close_image   : 'closelabel.gif'
})
})

DjDiablo 29.10.2012 16:02

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

судя по исходнику, если контент берётся из href
то ссылка попадает в target
и затем клон, передаётся в
$.facebox.reveal($(target).clone().show(), klass);

в функции reveal, контен вставляется в шаблон
строкой $('#facebox .content').append(data);

дальше продвинутся без адекватных данных не смогу.

возможно получается так что существуют несколько одинаковых id "tags",
или может вы контент клонируете вместе со скриптом, вы же непоказываете
так что нужна телепатия :D

lukingnu 29.10.2012 16:16

Что непонятного? Есть файл и ссылка на него
<a href=aut.php rel='facebox'>aut.php</a>

При открытии его в модальном окне (facebox) скрипт не работает

DjDiablo 29.10.2012 16:35

<a href=aut.php rel='facebox'>aut.php</a>

и действительно как я сам непонял :D (сарказм)

Ладно для нас это уже большой прогресс.
ниже приведённый код ведь в auth.php находится, верно ?
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
    <script src="http://code.jquery.com/jquery-1.8.2.js"></script>
    <script src="http://code.jquery.com/ui/1.9.1/jquery-ui.js"></script>
    <script>
..........


если да то позвольте спросить, зачем вы в нём jquery грузите.
Ведь загруженный jQuery затрёт Тот что уже есть на странице,
старый jquery умеет с facebox работать

А тот что вы загрузили неумеет
Спрашивается с чего это только что загруженный скрипт jquery, будет исполнять функцию facebox которую он никогда прежде невидел ?

И опять же у меня нет достаточных сведений чтобы утверждать что то с уверенностью. Я исхожу из предположения, что facebox.JS вы подключаете на главной странице, а затем затираете его загрузкой jquery в auth.php.


Часовой пояс GMT +3, время: 14:35.