日期:2014-05-17  浏览次数:20635 次

级联表单
<td width="100">一级分类</td>
<td><select name="parent1" id="parent1">
<option value="0">请选择</option>
<c:forEach items="${ name1 }" var="type1" varStatus="status">
<option value="${ type1.s_id }" label="${ type1.name1 }"
<c:if test="${ param.op eq 'm' and products.name1 eq type1.name1 }">selected="selected"</c:if>></option>
</c:forEach>
</select></td>


<td width="100">二级分类</td>
<td><select name="parent2">
<option value="0">请选择</option>
<c:forEach items="${ name2 }" var="type2" varStatus="status">
<option value="${ type2.s_id }" label="${ type2.name2 }"
<c:if test="${ param.op eq 'm' and  products.name2 eq type2.name2 }">selected="selected"</c:if>></option>
</c:forEach>
</select> 
</td>

type1的SQL语句为:select s_id,name1 from xxxx where parent1 = 0;
type2的SQL语句为:select s_id,name2,parent1 from xxxx where parent1 !=0 and parent2 = 0;
这两个选择列表的值都是从TT数据库中查询出来的,其中type1中有s_id,name1;type2中有s_id,name2,parent1   我想二级分类的值根据一级分类的值得改变而改变,也就是type1.s_id=type2.parent1   我该如何解决



------解决方案--------------------
典型的ajax应用。http://blog.163.com/meihua_can/blog/static/18543529220114290322746/
------解决方案--------------------
给parent1添加一个点击事件,返回选中的option的value(代表parent1的s_id),通过ajax返回给后台,设你得到的parent1的s_id=5,然后查询:select s_id,name2,parent1 from xxx where parent1=5,这样你的二级节点就是对应的了。。
------解决方案--------------------
引用:
给parent1添加一个点击事件,返回选中的option的value(代表parent1的s_id),通过ajax返回给后台,设你得到的parent1的s_id=5,然后查询:select s_id,name2,parent1 from xxx where parent1=5,这样你的二级节点就是对应的了。。

ajax二次查询结果