#javascript #jquery-ui #jquery #ruby-on-rails-3.1
#javascript #jquery-пользовательский интерфейс #jquery #ruby-on-rails-3.1
Вопрос:
Мой код:
<script type="text/javascript">
$(document).ready(function() {
// Initialise the table
$('#admintabel').tableDnD({
onDrop: function(table, row) {
}
});
});
</script>
Как мне создать вызов ajax для примера /sort
с параметрами position и ID в has, например, так: [position, ID]
onDrop? И какой должна быть моя таблица.
Обновить:
Я пытаюсь создать массив, подобный:
BREDBANDS[id] 1
BREDBANDS[id] 2
BREDBANDS[id] 3
Мои текущие тестовые данные:
data: {
BREDBANDS: [1, 2, 3] },
И он публикует это:
BREDBANDS[] 1
BREDBANDS[] 2
BREDBANDS[] 3
Что выдает ошибку 500.
Мое действие Rails, в которое отправляются данные:
def sort
params[:bredbands].each_with_index do |id, index|
Bredband.update_all(['position=?', index 1], ['id=?', id])
end
render :nothing => true
end
Ответ №1:
Трудно понять, что вы на самом деле спрашиваете, но выполнение Ajax-запроса должно выполняться любым из этих двух способов:
$.ajax({
type: "GET",
url: "/sort?" $.tableDnD.serialize(),
success: function(){
...
}
});
или
$.ajax({
type: "POST",
url: "/sort",
data: $("tr", "$admintabel").map(function(){
return this.id;
}),
success: function(){
...
}
});
Но, как кажется, вам нужно предоставить идентификаторы своим TR
элементам. Тогда вы должны быть в состоянии вызвать это:
$.tableDnD.serialize();
который будет сериализовать данные таблицы и ее идентификаторы строк.
Комментарии:
1. Как опубликовать массив всех идентификаторов?
2. Вот моя таблица pastie.org/2675438 Я хочу опубликовать идентификаторы, и в своем действии я вызываю с помощью index для обновления заказа.
3. @Railsbeginner: Проверьте мой отредактированный ответ. И проверьте примеры taleDnD и код, стоящий за ними, и вы увидите, как это работает.
4. Я обновил свой вопрос. Я пытаюсь создать правильный post-запрос, который не вызывает ошибку 500.