2012-05-30 1 views
0

Я пытаюсь создать приложение списка, которое позволит пользователю вводить элемент в текстовое поле, которое будет динамически создаваться в submit (тег списка). Затем я хочу иметь возможность удалять любой элемент, добавленный отдельно (с помощью кнопки удаления, которая будет добавлена ​​рядом с каждым тегом списка).Список приложений с использованием serializeArray и шаблона наблюдателя

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

Как я могу получить только «значение» объекта Array, чтобы динамически создать свой список? Как я могу удалить выбранный элемент?

Я хотел бы заполнить это приложение с помощью шаблона наблюдения.

Смотрите мой код ниже: http://jsfiddle.net/Lk3p8/

Благодарности

ответ

0

Я создал обновленную версию jsFiddle, которая, кажется, что вы хотите.

..edit ... обновлен, чтобы отразить ваш запрос. Я не заметил, что вы сохранили его в массиве значений. Извини за это. Я также внес некоторые небольшие изменения в вашу разметку.

$(document).ready(function(){ 

var deleteBtn = "<input class='deleteitem' type='button' value='Delete' name='delete' id='delete' />"; 
var values = []; 
$("#myForm").submit(function(){ 
    var frm= $("#myForm").serializeObject(); 

    values.push(frm.item); 


    $("#display").append("<li><p>" + frm.item +"</p>"+ deleteBtn +"</li>"); 
    return false; 
}); 


$("#display").on("click", ".deleteitem", function(event){ 
    var removeItem = $(this).parent().children('p').text(); 
    $('.log').after("<p>"+removeItem + " removed</p>");  
    $(this).parent().remove(); 


    values = jQuery.grep(values, function(value) { 
     return value != removeItem; 
    }); 

    console.log(values); 
}); 


}); 

Доказательство разметки концепции не является наибольшим, но вы получаете идею.

+0

Спасибо за ваш быстрый ответ и за обновление jSFiddle. Что касается кнопки удаления, я хотел бы соответствующим образом изменить массив объектов (чтобы отобразить список элементов). Например, при удалении элемента (элемент DOM) соответствующий объект также будет удален из значений «Array». – John

+0

Спасибо, я понял. Еще один вопрос - какие-либо советы или документация о том, как писать это приложение с использованием шаблона наблюдателя (пытаясь его изучить)? – John

+0

Я лично использую реализацию pubsub Питера Хиггинса шаблона наблюдателя https://github.com/phiggins42/bloody-jquery-plugins/blob/master/pubsub.js, единственным изменением, которое я сделал, является добавление блока catch try вокруг метода публикации , Я также нашел это [js design pattern guide] (http://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript), полезное для изучения различных шаблонов дизайна и когда их использовать. –