2013-08-01 4 views
1

Я работаю над своим первым скриптом AJAX с некоторыми страницами PHP - это мой первый раз с AJAX, и я наконец получил скрипт для работы. Я тоже немного новичок Javascript.Передача уникального идентификатора скрипту AJAX

У меня есть сайт PHP, который позволяет пользователям искать в каталоге библиотеки, а затем выбирать/добавлять книги в корзину покупок. Теперь мы изменили ссылку «Выбрать» для загрузки через AJAX, чтобы страница результатов поиска не обновлялась.

Чтобы закончить изменения AJAX, мне нужно передать уникальный идентификатор для каждой из ячеек таблицы, у которой есть ссылка AJAX на скрипт. Я использую PHP для создания уникального идентификатора для каждой ячейки таблицы с помощью переменной $ BookID следующим образом:

<td class="hidden-narrow" id="<?php echo 'selectRecord'.$bookID; ?>"> 
<?php 
if (in_array($bookID, $_SESSION['selectedBooks'])) { 
echo "Selected"; 
} else { 
echo '<a href="select" onclick="return selectRecord('.$bookID.')" class="center">Select</a>'; 
} 
?> 
</td> 

теперь мне нужно обновить мой скрипт для работы с уникальными идентификаторами - получить его работу я жёстко это идентификатор с именем «selectRecord», используя пример сценария, который я нашел. Вот мой сценарий:

function selectRecord(id) { 
// Allocate an XMLHttpRequest object 
if (window.XMLHttpRequest) { 
// IE7+, Firefox, Chrome, Opera, Safari 
var xmlhttp=new XMLHttpRequest(); 
} else { 
    // IE6, IE5 
    var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 
// Set up the readyState change event handler 
xmlhttp.onreadystatechange = function() { 
    if ((this.readyState == 4) && (this.status == 200)) { 
    document.getElementById("selectRecord").innerHTML="Selected"; 
} 
} 
// Open an asynchronous POST connection and send request 
xmlhttp.open("POST", "selectRecord.php", true); 
xmlhttp.send("id="+id); 
return false; // Do not follow hyperlink 

я понимаю мне нужно изменить эту строку:

document.getElementById("selectRecord").innerHTML="Selected"; 

, но не уверен, что синтаксис для обработки уникальных идентификаторов для каждой ячейки строки таблицы.

ответ

1

Вы можете передать идентификатор функции getElementById:

document.getElementById("selectRecord" + id).innerHTML="Selected"; 
0

Вы пробовали

document.getElementById(id).innerHTML="Selected"; 

? id должен быть закрыт функцией readystate и сохранить ее значение.

Смежные вопросы