请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

task_list传值怎样都是undefined

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
;(function(){
    'use strict';
    var $form_add_task = $('.add-task');
    var task_list = [];
    var $delete_task;
 
    init();
 
    $form_add_task.on('submit',function(e){
        e.preventDefault();
        var new_task = {};
        var $input = $(this).find('input[name=content]');
        new_task.content=$input.val();
        if(!new_task.content) return ;
        if(add_task(new_task)){
            $input.val('');
        }
    })
 
    $delete_task.on('click',function(){
            var $this = $(this);
            var $item = $this.parent().parent();
            var index = $item.data('index');
            console.log('index',index);
            var tmp = confirm('ss');
            tmp ? delete_task(index) : null;
    })
 
 
    function add_task(new_task){
        task_list.push(new_task);
        refresh_task_list();
        return true;
    }
 
    function delete_task(index){
        console.log('delete index',index);
        if( index === undefined || !task_list[index]) return;
        console.log('task_list[index]',task_list[index]);
 
        delete task_list[index];
        refresh_task_list();
    }
 
    function refresh_task_list(){
        store.set('task_list',task_list);
        render_task_list();
    }
    function init(){
        //store.clear();
        task_list = store.get('task_list') || [];
        if(task_list.length){
            render_task_list();
        }
    }
    function render_task_list(){
        var $task_list = $('.task-list');
        $task_list.html('');
        for(var i=0 ; i < task_list.length ; i++){
            var $task = render_task_item(task_list[i],i);
            $task_list.append($task);
        }
        $delete_task = $('.action.delete');
    }
    function render_task_item(data,index){
        if (!data || index === undefined) return;
        var list_item_tpl =
            '<div class="task-item" data-index=" '+ index+' ">' +
                '<span><input type="checkbox"></span>' +
                '<span class="task-content"> ' + data.content + '</span>' +
                '<span style="float:right;">'+
                    '<span class="action delete"> 删除</span>' +
                    '<span class="action"> 详细</span>' +
                '</span>'+
            '</div>' ;
        return $(list_item_tpl);  
    }
})();

这是我的代码 我看到删除的看完了 监听那个我先给去了 所以不要说代码没写完整

console的时候发现 index的值是有的 task_list【】里边只要自己写数字比如1 2 3也是可以delete掉的

但是只要把index传进去 就是undefined!!!!!!已经困扰我几个小时了!!!!!!!!!!!!!!求解答!!!!!!!!!!!!!

正在回答 回答被采纳积分+3

插入代码

3回答

小月肖 2016-12-15 00:57:11

我捉摸着应该是$item.data('index');有问题  ,我对前端也不是很熟 ,对于这些函数的调用也不是很懂,希望有大神能够棒棒忙

0 回复 有任何疑惑可以回复我~
  • 提问者 wildestD3155780 #1
    我一直没看回复抱歉 其实发完问题隔天我就找到原因了 你绝对不会想到是【 data-index=" '+ index+' ">' +】这里 注意看我的代码 双引号和单引号之间我加了空格.......................................................................
    回复 有任何疑惑可以回复我~ 2016-12-29 18:30:45
小月肖 2016-12-15 00:50:04

目前正在困扰中   

0 回复 有任何疑惑可以回复我~
小月肖 2016-12-15 00:49:47

同上  求解   

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号