текст выбраного элемента в input
Всем доброго времени суток. Есть вопрос.
У меня есть input, при вводе в него подгружаются данные. Стрелками вверх вниз, выбирается элемент. Осталось сделать: подставить текст выбранного элемента в input. var arrayLi=[]; $('.item').each(function() { arrayLi.push($(this)); }); var i=0, number='', count='undefined'!==typeof arrayLi?(arrayLi.length-1):0; function onKeyDown(event) { if(count!=0) { if(38==event.keyCode) { if(0<number) { arrayLi[number].removeClass('item_h'); --number; --i; arrayLi[number].addClass('item_h'); } } else if(40==event.keyCode) { if(i!=count) { if(arrayLi[i].hasClass('item_h') && i<count) { ++i; } for(var l in arrayLi) { if(number==l) { arrayLi[number].removeClass('item_h'); } if(l==i) { number=i; arrayLi[i].addClass('item_h'); } } } var value = $("input[name='name']").attr("value"); // Думаю ошибка в этом $('#search_term').val(value); } } else { return; } } Так выглядят подгружаемые элементы $string .= "<div class='item'><div class='name'><input name='name' type='hidden' value='$item->name'></input><input name='price' type='hidden' value='$item->price'></input><div class='gets'>$item->name</div></div><div class='price'>$item->price</div></div>"; Сейчас при нажатии кнопки вниз, подставляются данные первого элемента. А как сделать, чтобы подставлялись данные выбранного пункта? |
Цитата:
|
Цитата:
<div class='item'><div class='name'><input name='name' type='hidden' value='Название'></input><input name='price' type='hidden' value='550'></input><div class='gets'>$item->name</div></div><div class='price'>$item->price</div></div> <div class='item'><div class='name'><input name='name' type='hidden' value='Название2'></input><input name='price' type='hidden' value='750'></input><div class='gets'>$item->name</div></div><div class='price'>$item->price</div></div> Пусть будет выглядеть так. Что поменяется? |
Кто нибудь может подсказать?
|
Officeoff.ru,
код скрипта неполный -- html и тот неполный и c остатками php -- короче полная background-color - по коду не на том месте скрипта нужно брать данные и уточнить где именно :-E <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <style type="text/css"> .item_h{ background-color: #FF00FF; } </style> </head> <body> <div class='item'><div class='name'><input name='name' type='hidden' value='Название'></input><input name='price' type='hidden' value='550'></input><div class='gets'>Название</div></div><div class='price'>550</div></div> <div class='item'><div class='name'><input name='name' type='hidden' value='Название2'></input><input name='price' type='hidden' value='750'></input><div class='gets'>Название2</div></div><div class='price'>750</div></div> <input id="search_term" name=""> <script> var arrayLi=[]; $('.item').each(function() { arrayLi.push($(this)); }); var i=0, number='', count='undefined'!==typeof arrayLi?(arrayLi.length-1):0; function onKeyDown(event) { if(count!=0) { if(38==event.keyCode) { if(0<number) { arrayLi[number].removeClass('item_h'); --number; --i; arrayLi[number].addClass('item_h'); } } else if(40==event.keyCode) { if(i!=count) { if(arrayLi[i].hasClass('item_h') && i<count) { ++i; } for(var l in arrayLi) { if(number==l) { arrayLi[number].removeClass('item_h'); } if(l==i) { number=i; arrayLi[i].addClass('item_h'); } } } } var value = $("input[name='name']",'.item_h').val(); $('#search_term').val(value); } else { return; } } $('#search_term').keydown(onKeyDown) </script> </body> </html> |
Большое спасибо. Мне нужна была вот эта строка
var value = $("input[name='name']",'.item_h').val(); |
Часовой пояс GMT +3, время: 23:17. |