jQuery: получить <form>объект для сериализации из аргумента анонимной функции - PullRequest
1 голос
/ 09 января 2010

У меня есть форма в пределах draggable() div. Форма выглядит просто так:

<form id="add_interface" name="add_interface">
            USB  Type: 

                <select name="type-id">
                    <option value="68">Micro-A</option>
                </select>
              Use:

                <select name="use-id">
                    <option value="13">Audio    </option>
                </select>

</form>

Когда это 'сбрасывается' в droppable() div, я получаю эту ошибку:

XML filter is applied to non-XML value ({0:#1={}, length:1, context:#1#})

JQuery для droppable выглядит так:

 $("#droppable").droppable({
     drop: function(event, ui) {
         $(this).effect('highlight');
         alert(ui.draggable.("#add_interface").serialize());
     }
 });

Я предполагаю, что неправильно обращаюсь к форме, однако, если я пытаюсь просто сделать ui.draggable.serialize(), я получаю пустую строку. Просто интересно, как я могу на самом деле сериализовать форму в правильном перетаскиваемом div, который отбрасывается.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 09 января 2010

Вы, ребята, были почти на месте, но мне пришлось копаться и пробовать все, чтобы наконец понять это:

 $(function(){
     $('.ui-widget-header').draggable({cursor: 'move', revert: true});
     $("#droppable").droppable({
         drop: function(event, ui) {
             $(this).effect('highlight');
             alert($(ui.draggable.find('#add_interface')).serialize());
         }
     });
 });

Таким образом, вы имеете дело с аргументом пользовательского интерфейса следующим образом: $(ui.draggable.find('#add_interface')) и, затем, вы можете serialize(), что в противном случае я просто получаю предупреждение [объект объекта] в отличие от сериализованной формы

1 голос
/ 09 января 2010

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

ui.draggable.("#add_interface").serialize()

должно быть:

ui.draggable("#add_interface").serialize()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...