У меня есть приложение, которое, похоже, работает довольно хорошо, за исключением одного небольшого сбоя, который я не могу понять. Я надеюсь на помощь здесь.Динамическая строка добавлена только при первом щелчке
У меня есть таблица, в которую я могу динамически добавлять строки. Есть два способа добавить строки, некоторые - с флажком, который загружает предварительно определенные данные или изображение, которое добавляет пустую строку в таблицу.
Флажок работает отлично, но ссылка на изображение работает только в первый раз, а не в следующем.
Это изображение линии:
<img src="img/plus.png" width="25" height="25" id="btnAddRow" title="Add New Row" class="idfirst alternativeRow" />
alternativeRow генерируется из кода здесь: http://www.examplet.buss.hk/jquery/table.addrow.php (пример # 10, но гораздо сложнее), и заключается в следующем:
$(".alternativeRow").btnAddRow({oddRowCSS:"oddRow",evenRowCSS:"evenRow"});
«idfirst» блок кода jquery:
$(document).ready(function(){
$(".idfirst").click(function(){
result = 0;
id = 0;
jQuery.ajax({
url: 'getItemID.php?q=<?php echo $q; ?>',
success: function(result) {
id = result;
if(result.isOk == false)
alert(result.message);
},
async: false
});
window.location.href='page.php?q=<?php echo $q; ?>&id=<?php echo $id; ?>';
});
});
Я делаю перезагрузку, потому что хочу новый номер, созданный в getItemID.php для динамической загрузки. Это важно, потому что оно также добавляется к ссылке, которая создается в новой строке. Код в getItemID выглядит следующим образом:
$q = $_GET['q'];
$description = $_GET['description'];
$rate = $_GET['rate'];
$hours = $_GET['hours'];
$query = "INSERT INTO items (q, description, hours, rate) VALUES ('".$q."','".$description."','".$hours."','".$rate."')";
$results = mysql_query($query) or die(mysql_error());
$nextId = mysql_insert_id();
echo $nextId;
Так что моя проблема в том, что когда я щелкните ссылку в первый раз, все отлично работает, и я получаю мою пустую строку, ссылки в динамической работе ряда должным образом, жизнь хороша.
Но как только я нажму на него второй раз, страница перезагрузится, но я не получу свою новую строку. Он будет возвращать только существующие строки перед обновлением.
Мне интересно, может ли кто-нибудь увидеть что-то, что я делаю неправильно, и предложить любой совет. (Да, я понимаю, что некоторые из них, возможно, не идеальный способ заставить его работать, но по большей части он работает так, как мне это нужно ... и я потратил много часов, чтобы сделать все эти перемещения части ладят).
Заранее благодарю за любой совет.
Эта линия изображений создана для каждой строки?Если это так, у него не может быть ID, jQuery будет отвечать только на первый элемент на странице, если есть элементы с дублирующимся идентификатором –
. Я вижу, что вы - селектор jquery - это класс изображения $ (". AlternativeRow"). Вы уверены, что это не меняется в процессе? –
Спасибо, ребята, за ваши комментарии. Эта линия изображения появляется только один раз подряд под таблицей. Строки содержимого загружаются через цикл, после чего добавляется эта строка. @Kalid: jQuery alternativeRow встречается только один раз, и это ни в одном из циклов ... Это то, что вы имеете в виду? –