2013-03-02 36 views
1

我试图编辑我拥有的列表项,并且我想用.val()将父节的文本设置为表单字段。我也想从本地存储中删除它,问题是我不知道如何做到这一点,它似乎不是流行的在线,因为我无法在任何地方找到它。如何使用.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> 
+0

需要看到你的HTML来理解这一点。 – 2013-03-02 04:00:57

回答

1

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

事情是这样的:

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

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

+0

这个作品完美!非常感谢你 :) – user2079430 2013-03-02 20:05:26

相关问题