У меня есть таблица с полями, где я могу добавить динамически данные таблицы через JQuery. Проблема заключается в том, что элементы, которые я добавляю, не имеют свойств, которые я установил для этой группы td, пока я не перезагружу всю страницу, и я не знаю, что должно быть вызвано, чтобы принять меры и для новых.Применить x-editable для новых добавленных td
вот мой код:
#js file
function add_task() {
task_name = $("#task-name").val();
due_date = $("#task-due_date").val();
var new_task = $.ajax({
url: "/add_task/",
data: "task="+task_name+"&due_date="+due_date,
success: function(task_id){
get_task(task_id);
}
});
}
function get_task(task_id) {
$.ajax({
url: "/get_task/"+task_id+"/", //get the html from single_task.html
success: function(result){
$('#container').append(result);
$('#task-'+task_id).fadeIn(500);
}
});
}
#single_task.html
<tr id="task-{{task.id}}">
<td><div id="task">
<a href="#" data-type="text" data-pk="{{task.id}}" data- url="/update_task/{{task.id}}/" data-title="Enter task">{{ task.task }}</a>
</div></td>
<td>{{ task.initialized_at|age }}</td>
<td>{{ task.due_date }}</td>
<td>{{ task.done }}</td>
<td><button onclick="delete_task('{{task.id}}');" class="btn"> X </button></td>
#index.html //place where to load everything
<table id="container" class="table table-bordered">
<th style="width:200px;">task</th>
<th style="width:60px;">started</th>
<th style="width:80px;">due date</th>
<th style="width:50px;">status</th>
<th style="width:20px;">action</th>
{% for task in tasks %}
<tr id="task-{{task.id}}">
<td>
<div id="task"><a href="#" data-type="text" data- pk="{{task.id}}" data-url="{% url 'todo:update_task' task.id %}" data-title="Enter task">{{ task.task }}</a></div>
</td>
<td>{{ task.initialized_at|age }}</td>
<td>
<div id="due_date"><a href="#" data-type="date" data-pk="{{task.id}}" data-url="{% url 'todo:update_task' task.id %}" data-title="New date"> {{ task.due_date }}</a></div>
</td>
<td>{{ task.done }}</td>
<td><button onclick="delete_task('{{task.id}}');" class="btn btn-link"> X </button></td>
</tr>
{% endfor %}
</table>
Ваша помощь будет очень признателен :)
Спасибо заранее!
@jabez Можете ли вы объяснить, каким образом? – zode64
Я поместил свой x-редактируемый код внутри функции. Затем после добавления динамических строк просто отмените использование этого примера, который вы разместили в демо. $ ("# users a"). unbind(); Затем вспомните функцию для привязки. Спасибо за пример. –
Он работает для первого элемента, добавленного динамически, но не для второго. –