1 前台 :
<select id="dlist_category1" name="dlist_category1" onchange="DataBind2(this)" class="spgl_test" runat="server"> </select>
<select id="dlist_category2" class="spgl_test" name="dlist_category2" runat="server"> </select>
2
js 函数:
<script language="javascript" type="text/javascript">
function DataBind1()
{// 绑定栏目 一级分类
var ds_category1 = eshop_GaGa.ProcductType1().value;//引用数据集 (dataset 这里是使用ajax 获得后台数据 详见:ajaxpro.2.dll--网上很多)
//$initSeleByTable("dlist_category1",ds_category1.Tables[0],"PS1F_Name","PS1F_PS1F_ID","-1",1);
document.getElementById("dlist_category").options.length =1;//每次加载时清空一次 重新加载
if(ds_category1.Tables.length > 0 && ds_category1.Tables[0].Rows.length> 0 )
{
for(var i=0;i<ds_category1.Tables[0].Rows.length;i++)
{
document.getElementById("dlist_category1").options.add(new Option(ds_category1.Tables[0].Rows[i]["PS1F_Name"].toString(),
ds_category1.Tables[0].Rows[i]["PS1F_PS1F_ID"].toString()));
}
}
}
function DataBind2(obj)
{// 绑定栏目 二级分类
debugger;
var parent_category=obj.value;//获得选项做为 2级栏目查询条件
var ds_category2 = eshop_GaGa.ProcductType2(parent_category).value;//引用数据集
var selec_2 = document.getElementById("dlist_category2");
selec_2.options.length =1;
//$initSeleByTable("dlist_category2",ds_category2.Tables[0],"PS2F_Name","PS2F_PS2F_ID","-1",1);//调用jsback 里面的通用函数(等于下面)
if(ds_category2.Tables[0].Rows.length> 0 )
{
for(var i=0;i<ds_category2.Tables[0].Rows.length;i++)
{
document.getElementById("dlist_category2").options.add(new Option(ds_category2.Tables[0].Rows[i]["PS2F_Name"].toString(),
ds_category2.Tables[0].Rows[i]["PS2F_PS2F_ID"].toString()));
}
}
}
</script>
3 以上需要注意:A: function DataBind1() 是在body 标签里面初始化加载 onload="DataBind1()"
B: DataBind2(obj) 是在 第一个(也就是上一个select里面onchange 时间里面) 也就是说如果不发生change事件 第二个(下一个)是不会执行的绑定的(这点注意 解决设个默认绑定 例:===请选择====)
C: JS取值:
var categor1=document.getElementById("dlist_category1");
var categor1_value=categor1.options[categor1.selectedIndex].value;
var categor1_text=categor1.options[categor1.selectedIndex].text;
后台取值:
this.dlist_category1.Items[this.dlist_category1.SelectedIndex].Text;//或者 value ( runat="server")
D: 取数据源 略.............