请稍等 ...
×

采纳答案成功!

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

task_list传值怎样都是undefined

;(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下载
官方微信