Этот сайт всегда отвечает на мои вопросы при использовании Google, но я изо всех сил пытался найти ответ на этот вопрос, поэтому я хотел бы зарегистрироваться, поздороваться и спросить :)jQuery-UI выбираемый массив вывода в скрытую форму
У меня есть расписание (с использованием html-таблиц), и каждая ячейка помечена как выбираемая для выбора jquery-ui.
Тогда у меня есть форма с кнопкой, которая будет использовать POST для бронирования выбранных ячеек.
<form method="get" action="../test" id="add">
<button type="submit" class="btn btn-primary">Book selected period(s)</button>
</form>
В выбираемом примере сериализации это показывает, что он отлично подходит для цифр. но когда я иду, нажмите кнопку (используя GET для тестирования), похоже, что они ошибаются. Например, если я выбираю ячейку 1 и книгу кликов, она показывает cell_id = 1 в GET, но если я выберу ячейку 1 и ячейку 2, она будет проходить через их подсчет, поэтому GET показывает cell_id = 1, cell_id = 1, cell_id = 2 (поэтому считая 1, а затем 1 + 1, а не только 1 + 1)
это означает, что если я выбираю 5 ячеек, я получаю 15 результатов (1 + 2 + 3 + 4 + 5), а не 5. Есть ли способ обойти это. это то, что я до сих пор в JavaScript:
$("#selectable").selectable({
filter: ".selectable",
stop: function() {
$(".ui-selected", this).each(function() {
var data = $(this).data();
$(data).each(function(key, value){
var period_id = document.createElement("input");
period_id.setAttribute("type", "hidden");
period_id.setAttribute("name", "booking[1][period]");
period_id.setAttribute("value", data.period);
document.getElementById("add").appendChild(period_id);
});
});
}
});
В немного выше я получаю period_id из клетки, которая берется из другого PHP. он работает по назначению, если выбрать отдельные ячейки, а не мульти. , если любой другой код нужен, чтобы помочь ответить на этот вопрос, пожалуйста, дайте мне знать
благодаря
редактировать как дополнение, это то, что я надеюсь достичь (для более ясного понимания того, что я имею в виду). пользователь видит расписание сетки. они могут выбрать одну ячейку и выбрать книгу, которая пройдет через POST массив периода и дня, который они выбрали, чтобы перейти на booking.php. у них также есть возможность выбрать несколько ячеек и щелкнуть книгу, которая затем передаст каждую ячейку в виде массива для бронирования, так что php может перебирать все ячейки массивов и записывать несколько ячеек, используя их идентификатор номер/день, как это было возвращено jquery selectable ,
Почему вы повторяете '$ (data)'? Кажется, вас интересует только 'data.period', поэтому цикл не нужен. –
на данный момент я использую только data.period, чтобы проверить его работу. есть другие поля данных, которые мне нужны в будущем после того, как это будет разрешено – Dopefishmedia