Как передать данные (отброшенный элемент) в диалог JQuery? - PullRequest
0 голосов
/ 26 ноября 2009

Это, вероятно, простой, но я не могу обдумать это.

В основном у меня есть список, который настроен на прием пропущенных элементов. Я хочу, чтобы в ответ на удаленный элемент отображалось диалоговое окно jQuery и, когда пользователь нажимает кнопку ОК, отправлять на сервер информацию с указанным элементом.

Моя текущая проблема заключается в том, что мне нужно настроить диалоговое окно jQuery перед его вызовом (при загрузке документа), и поэтому мне нужно определить функцию, которая запускается при нажатии Ok. Однако на этом этапе я не могу получить доступ к удаленному элементу, так как не знаю, что это такое.

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

Заранее спасибо, и извиняюсь, этот вопрос несколько сбивает с толку.

Ответы [ 4 ]

3 голосов
/ 26 ноября 2009

Есть много способов сделать это:

Я предполагаю, что вы создали диалог, используя модальное окно, я прав?

Итак, у вас есть диалог с сообщением и кнопкой, давайте предположим, что кнопка передаст некоторые определенные параметры в sumbit.

Теперь о способах:

  1. Используйте функцию jquery data (), если ваш вызывающий элемент создается динамически:

    $ ('# someDiv'). Data ('someVar', 'itsVal');

  2. Использовать атрибуты:

    $ ('# someDiv'). Attr ('rel', 'itsVal');

или введите его через HTML

<div id="someDiv" rel="itsVal">Hello</div>

При отображении диалогового окна вы можете получить доступ к значению следующими способами:

var $myVar = $('#someDiv').data('someVar');

или

var $myVar = $('#someDiv').attr('rel');

Эти - мои стандартные способы решения этой проблемы. Надеюсь, это поможет

1 голос
/ 26 ноября 2009

Диалог на самом деле является div, который остается скрытым (вы это знаете), поэтому прежде чем его показывать, просто добавьте содержимое в него с помощью jquery

Предположим, что у диалога есть id- "диалог", вы выбираете его с помощью

$("#dialog").innerHTML(yourDiv);

как раз перед тем, как показать его

1 голос
/ 26 ноября 2009

Этот способ звучит справедливо, как и аналогичное решение использования полей <input type="hidden" /> на странице или в диалоговом окне.

Если вы объявите переменную вне какой-либо функции или предложения, она будет доступна во всех ваших JS. Например:

<script type="text/javascript" language="javascript">

    var info;

    //...

    drop: function(){
        info = {
            info1: "value",
            info2: "value"
        }
    }

    //...

    function clickOK(){
        alert(info.info1);
        alert(info.info2);
    }

Но твой путь действительно хорош!

1 голос
/ 26 ноября 2009

Почему бы не вставить его в переменную? Либо глобальный, либо тот, к которому могут обращаться как код записи, так и код чтения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...