Показать сообщение отдельно
  #1 (permalink)  
Старый 16.08.2014, 22:10
Профессор
Отправить личное сообщение для Blondinka Посмотреть профиль Найти все сообщения от Blondinka
 
Регистрация: 21.03.2014
Сообщений: 173

(jQuery, HTML) Как генерировать id для каждой новой кнопки?
Здравствуйте. Программа - простой todo list, даёт возможность создавать проекты и таски в каждом проекте. При нажатии на кнопку "add todo list", копируется блок исходного проекта, но копия, в отличие от исходника, не работает. Я так понимаю, что при создании каждого нового проекта, необходимо как-то генерировать id для каждой новой кнопки "Add task", которая находится в каждом клоне-проекте. Подскажите пожалуйста, как это сделать?

<!DOCTYPE html>
<html>
<head>
<meta charset = "utf-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link rel = "stylesheet" href="style.css">


<style>
div, h1{
background-color: #cdf;
text-align: center;
}
#loginblock{
text-align: left;
}
#addtodolist{
color: #555;
}
</style>



<script>
$(document).ready(function () {
    $('#taskbutton').click(function () {
        //сохранить таск, в качестве переменной
        var taskName = $('input[name=newTaskName]').val();

        //добавить новый таск
		//если скопировать таск, то функционал не копируется
        $('<li class="task"><div class="taskOuter"><div class="taskValue" contenteditable="false"></div>'+
		'<div class="taskDescription" contenteditable="false">' + taskName + '<br/><b id="edit">edit</b> | <b id = "delete">delete</b>'+
		'</div></div></li>')  
		.hide().prependTo('#taskList').slideDown('fast');
    });
	
    //при нажатии на панель таска, удалить его
	//тут нужно настроить удаление таска при нажатии на кнопку delete
    $(document).on('click', '.task', function () {
        $(this).hide('slow', function () {
            $this.remove();
        });
    });
	$("#addlist").click(function(){// клонирование проекта
    $("body").clone();
	$("#form").clone().appendTo("body", false);
  });
	
});
</script>

</head>
<body>

<header>
     <h1>Simple todo list</h1>
</header>
<div id="form">
<div class="submitForm">
    <form name="TaskForm">
        <input type="text" name="newTaskName" class="taskinput" value="" placeholder="Enter your task here" required
        />
    </form>
    <div id="taskbutton">Add Task</div>
</div>
<div id="tasksWrapper">
     <h2 class="toDoHeader" contenteditable="true">Project name</h2>

    <ul id="taskList"></ul>
</div>
</div>


<input id="addlist" type = "button" value="add todo list">
</body>
</html>

Последний раз редактировалось Blondinka, 17.08.2014 в 00:33.
Ответить с цитированием