Обработка списка, как формы

stifler_x
На сайте с 19.06.2008
Offline
193
574

Есть ли возможность отработать данные списка


<ul>
<li id='uniqid'></li>
</ul>

как поля формы

<select>
<option></option>
</select>

Надо передать данные полей списка внешнему скрипту при помощи ajax

ewg777
На сайте с 04.06.2007
Offline
225
#1

serialize?

Prior
На сайте с 03.03.2008
Offline
194
#2

document.getElementById('uniqid').childNodes[0].nodeValue

может так?

Ответы на вопрос - https://answers.net.pl
stifler_x
На сайте с 19.06.2008
Offline
193
#3
ewg777:
serialize?

использую...

Prior:
может так?

получается, но можно передать только один элемент списка... как реализировать мультиселект даже не представляю...

Пробовал передать по клику скрытым чекбоксам, но получается страшная путаница...

Кто-то знает, как реализировать мультиселект на списках, или это не реально?

malls
На сайте с 08.08.2005
Offline
255
#4

можно все вопрос что именно передавать и на какое именно действие

одно дело

<li id='uniqid' onClick=any_action(this)></li>

т.е. реагировать на клик на элементе...

короче непонятно что сделать то надо...

ixRock
На сайте с 14.11.2006
Offline
46
#5

ТС, для мультиселекта попробуйте передавать имена как "varname[]", тогда в пхп и будет массив с выбранными элементами, т.е $_POST['varname'] = array(...);

Работаю [S]за еду и секас[/S] с XHTML, CSS, XSLT, JS, PHP. Если что, вот тут (http://www.mintdesign.ru/) некоторые мои работы. Контакты: ася 344-ноль86-276, мыло ixrock@gmail.com
stifler_x
На сайте с 19.06.2008
Offline
193
#6

Есть список:

<style>
ul {
displey:block;
cursor:pointer;
}
</style>

<ul>
<li id='1'>val1</li>
<li id='2'>val2</li>
<li id='3'>val3</li>
</ul>

при клике передать значение id в поле формы. Форма обрабатывается при помощи функции serialize и данные передаются обработчику. Результат запроса выгружается в отдельный блок.

Как обработать этот список, чтобы можно было сделать множественный выбор из него?

Как сделать, чтобы при повторном клике удалялось значение, которое было передано после первого клика?

Тоесть, как постоить полный аналог соотверствующего списку элемента формы

<select>
<option></option>
</select>
?

stifler_x добавил 21.12.2009 в 18:07

что скажете, глядя на это?

$(document).ready(function(){
$("#param1 li").click(function(){
if ($("#" + $(this).attr("id") +" input").attr("checked") == false) {
$(this).addClass("paramlistactiv");
$("#" + $(this).attr("id") +" input").attr("checked","checked");
}
else {

$(this).removeClass("paramlistactiv");
$("#" + $(this).attr("id") +" input").removeAttr("checked");
}
});
});

При этом к каждому елементу списка, добавить скрытый чекбокс.

I
На сайте с 21.02.2008
Offline
117
#7
stifler_x:


При этом к каждому елементу списка, добавить скрытый чекбокс.

В любом случае надо либо вводить для сохранения выделенных данных поля формы (скрытые или видимые), либо сохранять их в массиве и перед отправкой формы передвать какому либо полю или полям.

stifler_x
На сайте с 19.06.2008
Offline
193
#8
ippoman:
В любом случае надо либо вводить для сохранения выделенных данных поля формы (скрытые или видимые), либо сохранять их в массиве и перед отправкой формы передвать какому либо полю или полям.

Угу... вот тут и поможет serializeArray()

I
На сайте с 21.02.2008
Offline
117
#9

<script language="JavaScript">
var list = new Array(); //Сюда заносим все элементы и выделенные и нет
var select_list = new Array(); //Сюда только выделенные, после вызова get_elem (перед отправкой формы

function get_elem() {
for ( var i=0; i < list.length; i++ ) {
if ( list ) {
select_list[list.length] = list;
}
}
}

</script>

<li id='1' onclick="if (list[this.id]) {list[this.id]=''} else {list[this.id] = this.innerHTML}">val1</li>
<li id='2' onclick="if (list[this.id]) {list[this.id]=''} else {list[this.id] = this.innerHTML}">val2</li>
<li id='3' onclick="if (list[this.id]) {list[this.id]=''} else {list[this.id] = this.innerHTML}">val3</li>

Это сохраняет выделенные элементы в массив без полей, или как-то так.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий