Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44

передача атрибутов в диалоговое окно

27.11.2012, 23:23. Показов 2078. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток! Я новичек в jQuery, но как говорится затянуло.
Хотела реализовать следующее: в таблице выбираем строчку - нажимаем на "галочку"- появлается диалоговое окно- если нажимаем "да" - то срабатывает AJAX-запрос.
HTML5
1
<td><img src="images/dialog-apply.png" id="genehmiegen" alt='. $row->antrag_id .'> </td>';
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$(function (){    
    $("#genehmiegen").live('click', (function(){        
        $('#dialog_window_1').dialog({
            width: 'auto',
            height: 'auto',
            buttons: {
                "ДА": function(){
                   
                    var antrag_id = $("this").attr("alt").val();
                     $.ajax({
                        type:"POST",
                        data: "antrag_id=" + antrag_id,
                        dataType:"json",
                        url: "ajax/ajax_genehmigung.php",
                        success: function(){ 
                            $('#dialog_window_1').dialog("close");                          
                        }
                    })
                },
                "НЕТ": function (){
                    $(this).dialog("close");                    
                }
            } 
        });
    })
    )
});
Вроде все получилось, пока только одна строка была. Проблему решила с помощью функции live(), но мне нужо передать Ajax дополнительную переменную antrag_id, который я поместила в img как "alt".
Вот его я выцепить никак не могу, помоги-те люди добрые!!

Что-то у меня запарка с передачей данных в jQuery
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.11.2012, 23:23
Ответы с готовыми решениями:

Передача переменной в диалоговое окно
Здравствуйте! Помогите пожалуйста, у меня такая ситуация: есть таблица, в которую циклом при помощи php выводятся данные из базы данных...

Передача информации в диалоговое окно
Доброе утро всем! Возникает ошибка &quot;error expected primary-expression before '.' token&quot;. Делал по примеру но там было обратное, из...

Передача CStringArray в дочернее диалоговое окно
В основном окне при открытии файла считываются необходимые строки в массив CDlgSpec spis; if(Na.DoModal()==1) { ... for(int...

17
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
27.11.2012, 23:55
JavaScript
1
$("#genehmiegen").attr("alt")
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
28.11.2012, 02:11  [ТС]
если я так прописываю, выбирается только первый "alt", при нажатии на любую строку таблицы, а мне нужно чтобы из каждой строчки таблицы брался свой alt.

HTML5
1
2
<td><img src="images/dialog-apply.png" id="genehmiegen" alt=1> </td>
<td><img src="images/dialog-apply.png" id="genehmiegen" alt=2> </td>
0
 Аватар для At0m1c
48 / 43 / 6
Регистрация: 09.06.2012
Сообщений: 152
28.11.2012, 07:36
Вместо id="genehmiegen" пропишите класс. Id должен быть уникальный.
JavaScript
1
$(this).attr('alt');
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
28.11.2012, 20:49  [ТС]
не работает. Здесь ($this) ссылается на я так понимаю на $('#dialog_window_1').dialog
jquery знаю не так давно,и сталкиваюсь все время на эту проблему, наверно чего-то не допонимаю:
понимаю только проблему: при нажатии на картинку обрабатывается функция "открой диалоговое окно" и "добавь" туда твою переменную.

Добавлено через 9 часов 11 минут
ЗАРАБОТАЛО!!! Спасибо всем за помощь! +1 почему-то не смогла поставить.
Код немного перемодифицировала получилось вот-что- такое, Работает!! Наткнулась на очень хорошее описание как сделать календарь здесь: http://sanchiz.net/blog/fullca... ete-events
А вместо
HTML5
1
'#dialog_window_1'
прописала
JavaScript
1
'<div name= "'+antrag_id+'">'
в итоге код такой стал:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$(document).ready(function(){  
    $("#genehmiegen").live('click', function (){        
        var antrag_id= $(this).attr('alt');
        $('<div name= "'+antrag_id+'">').dialog({
            width: 'auto',
            height: 'auto',
            modal:true,
            title: 'Sind Sie sicher, dass der Antrag genehmigt wird?',
            buttons: [{
                id: 'да',
                text: 'ДА',
                click: function(){                  // Funktion "wenn JA gedrückt wird beim "Genehmigen" AJAX 
                    $.ajax({
                        type:"POST",
                        data: {
                            antrag_id: antrag_id,
                            op: 'genehmiegen'
                        },
                        dataType:"json",
                        url: "ajax/ajax_genehmigung.php",
                        success: function(){ 
                            alert("Antrag ist genehmigt")                       
                        }                        
                    })
                    $(this).dialog('close');
                }
            },
 
            {
            id:'nein',
            text: 'NEIN',
            click: function (){
                $(this).dialog("close");
            }
        }] 
        });     
    });
может кому понадобится, аналогично сделала для НЕТ
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
28.11.2012, 22:45
Я не уловил вначале, что таких элементов несколько, так как был указан id, а он должен быть уникален (прислушайтесь к совету At0m1c, и пропишите класс). И, собственно, такой фрагмент кода, скорей всего имел ввиду At0m1c:

JavaScript
1
var antrag_id = $(this).attr('alt');
Можно обойтись без этой части (внизу), а вернуть ее к старому виду, это изменение абсолютно бесполезно, т.к. antrag_id сохранится в замыкании:

JavaScript
1
$('<div name= "'+antrag_id+'">').dialog({
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
28.11.2012, 22:59  [ТС]
Я с помощью этой строчки
JavaScript
1
$('<div name= "'+antrag_id+'">').dialog({
создаю новое диалоговое окно, потому-что у меня оно в html не прописано, а имя даю из клика на картинке "genehmigen". Вроде все логично
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
28.11.2012, 23:35
Я имел ввиду (хотя могу и ошибаться), что можно использовать старый вариант:
JavaScript
1
$('#dialog_window_1').dialog({
И не совсем понятно: зачем вы присваиваете в качестве имени полученный id?
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
29.11.2012, 00:11  [ТС]
мне это значение потом в ajax как id нужно, а в html это значение нигде явно не стоит, а вообще данные подгружаются из mysql и это значение нигде на html не регистрируется а мне оно нужно для дальнейшей выборки, вот я его и подвесила на рисунок, запутанно наверно, но другого способа не нашла.
Мне надо было реализовать изменение "Status". Теперь если я нажимаю на "зеленую галочку" (слева) на определенной строке, то проиходит запрос делать или не делать, а потом "дискетка" меняется на "зел. галочку" это начит документ подписан. ну что-то в этом роде. Хотелось конечно чтобы "дискетка" автоматически менялась, но это надо таблицу на ajax подвесить, пардон пока не знаю как, гуглю.
Миниатюры
передача атрибутов в диалоговое окно  
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
29.11.2012, 00:26
Да нет, вопрос заключался в том, зачем вы вот здесь диву в качестве имени присваиваете id:
JavaScript
1
$('<div name= "'+antrag_id+'">')
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
29.11.2012, 13:33  [ТС]
вчера уже поздно было, как-то не врубилась в вопрос, сейчас поменяла на
JavaScript
1
$('#dialog_window_1').dialog({
и все оказывается работает. Проблема была раньше наверно в том, что я рано закрывала скобки - ошибки новичка
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
29.11.2012, 13:47
Да нет же, проблема была здесь:
JavaScript
1
2
"ДА": function(){
             var antrag_id = $("this").attr("alt").val();
В момент выполнения этой функции контекстом (this) была кнопка. (Ну + еще проблема в том, что .val() не нужен, но опустим, это сейчас неважно). Соответственно, у кнопки нет искомого alt. Сейчас же:
JavaScript
1
2
$("#genehmiegen").live('click', function (){        
        var antrag_id= $(this).attr('alt');
В момент взятия контекстом является картинка. Поэтому всё работает.
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
29.11.2012, 23:05  [ТС]
А посложнее задачку решить? Вот здесь http://ruseller.com/lessons.php?rub=32&id=735 нашла plugIn, что-мне нужно. Там при нажатии на ссылку подгружается файл в модальное окно (я таким образом хочу просмотр документа организовать) . А проблема такая-же как мне вывести эту проклятущую переменную из иходной страницы в модальную? Я так поняла я должна ее прописать перед тем как открою это модальное окно, для этого там есть опция beforeOpen : function () {}, вписываю я ее туда и все-равно как-то не так как надо. Или надо полностью функцию прописать?
JavaScript
1
$("#contact").live('click', function (){ var antrag_id= $(this).attr('alt');}
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
29.11.2012, 23:12
А можно где-нибудь посмотреть на реальной работающей странице? И скиньте ссылку поточней, а то по этой на список уроков перекидывает. =)
1
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
30.11.2012, 00:13  [ТС]
Простите ссылку не проверила! урок называется "Прогрессивное преобразование ссылки на форму в модальную форму" находится на 2 странице той ссылки, которую я дала
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
30.11.2012, 00:20  [ТС]
Вроде сейчас подгружается нужный antrag_id выводится в Firebug правильное значение, но не попадает в форму
Миниатюры
передача атрибутов в диалоговое окно  
0
0 / 0 / 0
Регистрация: 12.11.2012
Сообщений: 44
30.11.2012, 00:26  [ТС]
допетрила и все получилось, прям каиф какой-то, когда эти дурацкие циферки на экране появляются!!!
Завтра у меня другая задача - подключить в энтой модальной форме выполнение скриптов. Спасибо огромное за поддержку!
0
23 / 23 / 4
Регистрация: 24.11.2012
Сообщений: 97
30.11.2012, 10:39
Только я собрался разбираться в проблеме, а вы уже всё сделали. Молодец. =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.11.2012, 10:39
Помогаю со студенческими работами здесь

QNetworkAccessManager - передача cookie в другое диалоговое окно
Есть две формы (Form1.ui и Form2.ui): в Form1.ui выполняется POST-запрос (авторизация). После ввода логина и пароля открывается вторая...

Диалоговое окно
Доброго времени суток всем. Возникла проблема, которую я не знаю как решить. Вообщем на стороне клиента ведёться небольшой опрос( связано с...

Диалоговое окно
как создать диалоговое окно с выбором ответов да или нет

диалоговое окно
Здравствуйте дорогие знатоки!) Я программировал на с++ и перехожу на яву. Работаю в NetBeans. среда разработки ругается на слово farme в...

Диалоговое окно
Подскажите как в диалоговое окно можно поместить календарь и возможность выбирать в нем дату Спасибо


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru