在使用谷歌时,这个网站总是会为我的问题提供答案,但我一直在努力寻找答案,所以我想我会注册,打个招呼,然后问:)
我有一个时间表(使用 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 并单击书,它会在 GET 中显示 cell_id=1,但如果我选择单元格 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。他们还可以选择多个单元格,然后单击 book,然后将每个单元格作为数组传递以进行预订,因此 php 可以循环遍历所有单元格数组并使用 jquery 可选返回的房间/天 ID 预订多个单元格。