每一个列表中输出一个input hidden表单 名字根据属性列表命名。
动态晒选属性列表,思路,如新的思路欢迎回我。
每一个列表中输出一个input hidden表单 名字根据属性列表命名。
我这里有个最新,与最热是已知固定的 搜索参数,其它参数都是未知的。
//php代码
<form action="{:url('/meitu')}" method="get" id="filterForm">
<div class="xgt_select_type">
<h1 class="xgt_meitu_nav">
<ul>
<li class="has_arrow">
<a href="/">{$site_config.shop_info_store_name}</a>
<span class="nav_arrow_right"></span>
</li>
<li class="has_arrow">
<a href="/meitu">家居美图</a>
</li>
<li class="nav_type_select">
</li>
</ul>
</h1>
{foreach name="filter" item="it" key="key"}
<dl class="xgt_st_dl height_40">
<input type="hidden" name="a{$it.id}" value="">
<dt>{$it.name}</dt>
<dd>
{foreach name="it.son" item="son"}
<a href="javascript:;" data-value="{$son.attr_value}">{$son.attr_value}</a>
{/foreach}
</dd>
{if $key gt 13}
<a href="javascript:;" class="xgt_nav_showMore" title="点击展开"></a>
{/if}
</dl>
{/foreach}
</div>
<div class="xgt_st_nh" id="search_type">
<input type="hidden" name="new" value="{$Request.get.new}">
<input type="hidden" name="hot" value="{$Request.get.new}">
<a rel="nofollow" href="javascript:;" data-type="new"
class="clickstream_tag xgt_meitu_new {if $Request.get.hot eq 0}on{/if}">最新</a>
<a rel="nofollow" href="javascript:;" data-type="hot"
class="clickstream_tag xgt_meitu_hot {if $Request.get.hot eq 1}on{/if}">最热</a>
</div>
</form>//点击的时候就把值放入input中,由于是一行一个表单,你每一行点击的直接切换表单值
//js代码.
self.ui.item, self.ui.search_type是我自己封装的jquery对象
var self = this;
self.ui.item.on('click',function () {
var value = this.getAttribute('data-value');
var input = $(this).parent().siblings('input').val(value);
self.ui.filterForm.submit();
})
self.ui.search_type.on('click',function () {
var type = this.getAttribute('data-type');
$(this).siblings('input').val('')
self.ui.filterForm.find("input[name='"+type+"']").val('1');
self.ui.filterForm.submit();
}) 