0

我有一个菜鸟问题,我想知道如何才能完成这项工作。

我有一个页面列出了我的数据库中的产品。产品列表上方是一个 GET 表单,其中有两个下拉菜单,用于选择每页有多少产品以及排序顺序。

然后在我的列表左侧,我有一个包含 POST 表单的边框,其中包含特定类别中的所有子类别,并带有复选框,以便用户可以优化他们的搜索。

因为边箱包含很多选项,所以最好将此表单作为 POST ,否则我最终会得到可能包含 10 个 category_id 的 URL,但这意味着当我更新 GET 表单中的任何一个下拉列表时,我需要来自 POST 的信息要一起发送。

我试过只用一个大的 POST 表单来覆盖这两个位,但是因为它们在不同的 s 中,所以这不起作用。

这样做的最佳方法是什么,我无法弄清楚!

编辑:这是我尝试将所有元素放入一个 POST 表单中的一个小技巧,由于 div 不同,它无法验证,我无法将它们包装在一个 DIV 中,因为它会破坏我的布局,即意味着成为侧边框右侧和过滤器栏下的产品列表 - http://jsfiddle.net/FwQNn/

<div id="prodlistFilterBarWrapper">
        <form name="filter" action="index.php?main_page=index&amp;cPath=45" method="post">
            <input type="hidden" name="main_page" value="index" />
            <div id="filterbarwrapper"><span class="filterBarTextperpage">&nbsp;per-page&nbsp;</span>
                <div id="perpagecontainer">
                    <select name="perpage" id="perpage" onchange="this.form.submit()">
                        <option value="20">20</option>
                        <option value="40">40</option>
                        <option value="60">60</option>
                        <option value="80">80</option>
                        <option value="100">100</option>
                    </select>
                </div>
                <div id="sortordercontainer">
                    <select name="sortorder" id="sortorder" onchange="this.form.submit()">
                        <option value="bestselling">Best Selling</option>
                        <option value="pricelowhigh" selected="selected">Price low-high</option>
                        <option value="pricehighlow">Price high-low</option>
                        <option value="nameaz">Name a-z</option>
                        <option value="nameza">Name z-a</option>
                    </select>
                </div>
            </div>   
        </div>
        <div style="clear:both"></div>
        <div id="sidebox">
        <div id="sideboxheaderbgtop"><span class="yellowText" style="margin-left:15px">Refine</span> <span class="whiteText">search</span></div>
        <div id="sideboxPriceRange"></div>
        <div id="sideboxCatsWithCheckBoxes">
        <div class="sideboxHeading">Irish Gifts &amp; Souvenirs</div>
        <div class="sideboxDotSpacer"></div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="20" checked="checked" />&nbsp;&nbsp;&nbsp;Decorations</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="48" checked="checked" />&nbsp;&nbsp;&nbsp;Keyrings</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="25" checked="checked" />&nbsp;&nbsp;&nbsp;Whiskey </div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="15" checked="checked" />&nbsp;&nbsp;&nbsp;Novelties</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="44" checked="checked" />&nbsp;&nbsp;&nbsp;Titanic</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="18" checked="checked" />&nbsp;&nbsp;&nbsp;Glassware</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="43" checked="checked" />&nbsp;&nbsp;&nbsp;football</div>
        <div class='sideboxSubCat'><input type="checkbox" name="subcats[]" value="8" checked="checked" />&nbsp;&nbsp;&nbsp;Dolls</div>
        <input type="image" src="update.png" alt="Update" title=" Update " id="sideboxUpdateButton" />
        </form>
        <div class="sideboxBottomSpace"></div>
    </div>
4

1 回答 1

0

我要做的是 1. 如果您必须传递左侧数据,请更改下拉列表到帖子 2. 在下拉表单中包含隐藏字段,当您从左侧选择不同类别时填充这些字段..这很容易用一些简单的 javascript 完成

于 2012-10-24T17:14:32.580 回答