2013-11-20 4 views
0

У меня есть список li, который я сделал сортировкой через jQuery. Мне нужно добавить несколько скрытых значений в эти сериализованные данные, чтобы убедиться, что обновление идет в нужном месте.jQuery sortable добавить дополнительную информацию

Как мне это сделать?

HTML

<ul id="reportNav"> 
    <li id=page_1>Page 1</li> 
    <li id=page_2>Page 2</li> 
    <li id=page_3>Page 3</li> 
    <li id=page_4>Page 4</li> 
    <li id=page_5>Page 5</li> 
    <li id=page_6>Page 6</li> 
</ul> 

JS

$("#reportNav").sortable({ 
    stop : function(event, ui){ 
    var url = "/pages/saveOrder.php"; 
     $.ajax({ 
     type: "POST", 
     url: url, 
     data: $(this).sortable('serialize');, 
     success: function(data) { alert(data); }, 
     error: function(data) { alert("Failure"); } 
     }); 
    } 
}); 

, выведенные данные:page[]=1&page[]=2&page[]=3&page[]=4&page[]=5&page[]=6

данных мне нужно добавить: Specific reportID что в HTML

ответ

1

Так, просто добавьте его $(this).sortable('serialize')+"&reportId="+$("#reportId").text()http://jsfiddle.net/8BAW3/


Или дать пример того, что вы хотите достичь, если это не так.

+1

совершенный! Спасибо! – bryan

1

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

$.ajax({ 
    type: "POST", 
    url: url, 
    data: { 
     data: $(this).sortable('serialize'), 
     foo: 'bar', 
     bar: 'blubb' 
    }, 
    success: function(data) { alert(data); }, 
    error: function(data) { alert("Failure"); } 
    }); 

сделать var_dump($_POST) туда, куда вы отправляете запрос Аякса, чтобы увидеть/найти данные.

1

Вы можете просто добавить параметр к части данных в виде текста (+ '& param = value'). Строка также может быть изменена для вашей переменной.

 $.ajax({ 
      data: data+'&param=value', 
      type: 'POST', 
      url: '/yourFile.php' 
     }); 
Смежные вопросы