Други мои! Растолкуйте и мне как получить ID из <li>.
Все по порядку...
Имею инпат
<input type="text" id="custSearch" value="" style="width: 200px;" />
В него autocomplete() добавляет результат запроса к БД.
PHP обработчик формирует вот такой список для input
foreach ($CustomList as $val) {
echo $val['familia']." ".$val['cust_name']." ".$val['otchestvo']."|" .$val['customer_id']. "\n";
}
На клиентской стороне, в списке <li>...</li> встречаю строку вида
Цитата:
|
Агапов Василий Михайлович|386
|
Все ясно: элемент [0] - ФИО, элемент [1] - айди записи.
Таперича мне надо получить по событию onItemSelect этот самый элемент [1] и передать его дальше, другому скрипту.
Исходя из мануала, о котором упоминал
be3, его можно получить подобной функцией
function selectItem(li) {
if( li == null ) var sValue = 'А ничего не выбрано!';
if( !!li.extra ) var sValue = li.extra[1];
else var sValue = li.selectValue;
alert("Выбрана запись с ID: " + sValue);
}
Но у меня она ничего не сообщает. Молчит!
Что я не так делаю?
На всякий случай цитирую основной код.
$(document).ready(function(){
function liFormat (row, i, num) {
var result = row[0] + '<p class=qnt>' + row[1] + ' тыс.чел.</p>';
return result;
}
function selectItem(li) {
if( li == null ) var sValue = 'А ничего не выбрано!';
if( !!li.extra ) var sValue = li.extra[1];
else var sValue = li.selectValue;
alert("Выбрана запись с ID: " + sValue);
}
$(document).ready(function() {
$("#custSearch").autocomplete(
"customers/customers_list_for_search.php",
{
delay:10,
minChars:2,
matchSubset:1,
autoFill:true,
matchContains:1,
cacheLength:10,
selectFirst:true,
formatItem:liFormat,
maxItemsToShow:10,
onItemSelect:selectItem
}
);
});
}); //end readyfunction