1

我正在尝试编辑我拥有的列表项,并且我想将父部分的文本设置为带有.val(). 我也想从本地存储中删除它,问题是我不知道如何做到这一点,而且它似乎在网上并不流行,因为我在任何地方都找不到它。

这就是我通过输入表单引入数据的方式:

function addTodo(form) {
    var input = $(form).find('input[name="todo"]').first();
    if (input) {    
        var todo = input.val();
        if (Modernizr.localstorage) {
            var todo_list = {};
            if (localStorage.todos) {
                todo_list = JSON.parse(localStorage.todos);
            }   
            var id = +new Date;
            todo_list[id] = {
                name: todo,
                completed: false
            };
            localStorage.todos = JSON.stringify(todo_list); 
            drawTodos();
        }   
        input.val('');
    }
    if ( jQuery.fn.validate ) {
        $(form).validate().resetForm();
    }
}

如何选择我添加的列表项,以便它最终回到输入字段中以便我可以编辑它?

<section>
            <h1>List</h1>
        </section>
        <section id="todo_list">
            <header>
                <form>
                    <input type="text" name="todo" placeholder="What do you need to do?" />
                    <input type="submit" name="add_todo" value="Add To List" />
                </form>
            </header>
        </section>

我在 jquery 的循环中生成了一些 html:

<section class="todo_item" id="item' + id + '"><span id="complete" class="colour complete">Complete</span><span id="incomplete" class="colour incomplete">Incomplete</span><span class="content editable" id="done">' + todo.name + '</span><a href="#" class="remove_todo"><img src="img/delete.png" /></a></section>
4

1 回答 1

1

为什么不将处理程序附加到具有editable类的跨度?

像这样的东西:

$(document).ready(function () {
    $(".content.editable").click(function () {
        $("input[name='todo']").val($(this).text());
    });
});

请注意,ID 必须是唯一的。将相同的 ID 分配给多个部分是错误的:“完成”、“不完整”、“完成”。

于 2013-03-02T05:02:41.920 回答