现在在做一个省市地区三联联动菜单 省、市、地区 的数据在PHP页面已经取到 在TPL模块中 也可以获得 页面上SELECT下面把相应的省、市、地区都列出来了 现在要做个JS判断 想通过JS控制 市级和地区级列表 对应上一层选中的关键是怎么把这个数组(市级和地区级)传到JS中做 判断?市级数组格式(print_r后的显示):Array(
[0]=>Array([province]=>110000 [name]=>北京市 [code]=>110100)
[1]=>Array([province]=>130000 [name]=>石家庄市 [code]=>130100)
) 地区级数据格式:Array(
[0]=>Array([citycode]=>110100 [name]=>东城区 [code]=>110101)
[1]=>Array([citycode]=>110100 [name]=>西城区 [code]=>110102)
)
[0]=>Array([province]=>110000 [name]=>北京市 [code]=>110100)
[1]=>Array([province]=>130000 [name]=>石家庄市 [code]=>130100)
) 地区级数据格式:Array(
[0]=>Array([citycode]=>110100 [name]=>东城区 [code]=>110101)
[1]=>Array([citycode]=>110100 [name]=>西城区 [code]=>110102)
)
<select name="dq" id="dq"></select>function sqjudge(){
var dq=getElementsById('dq');}
var subcat = getElementsById('s2');
var subcat2 = getElementsById('s3');
function changeselect1(locationid)
{
document.send.s2.length = 0;
document.send.s2.options[0] = new Option('==请选择','');
for (var i=0; i<subcat.length; i++)
{
if (subcat[i][0] == locationid)
{
document.send.s2.options[document.send.s2.length] = new Option(subcat[i][1], subcat[i][2]);}
}
}
function changeselect2(locationid)
{
document.send.s3.length = 0;
document.send.s3.options[0] = new Option('==请选择==','');
for (var i=0; i<subcat2.length; i++)
{
if (subcat2[i][0] == locationid)
{document.send.s3.options[document.send.s3.length] = new Option(subcat2[i][1], subcat2[i][2]);}
}
}
</script>
<BR>
<select name="s1" onChange="changeselect1(this.value)">
<option>==请选择==</option>
<{foreach from=$subcatdatas item=item}>
<option value=<{$item.code}>><{$item.name}></option>
<{/foreach}>
</select>
<select name="s2" onChange="changeselect2(this.value)">
<option>==请选择==</option>
<{foreach from=$subcat item=item}>
<option value=<{$item.provincecode}>><{$item.name}></option>
<{/foreach}>
</select>
<select name="s3" >
<option>==请选择==</option>
<{foreach from=$subcat2 item=item}>
<option value=<{$item.citycode}>><{$item.name}></option>
<{/foreach}>
</select>是这样的么 var subcat = getElementsById('s2');
var subcat2 = getElementsById('s3');没效果啊~~~~(>_<)~~~~
var subcat = getElementsById('s2');
var subcat2 = getElementsById('s3');
function changeselect1(locationid)
{
document.send.s2.length = 0;
document.send.s2.options[0] = new Option('==请选择','');
for (var i=0; i<subcat.length; i++)
{
if (subcat[i][0] == locationid)
{
document.send.s2.options[document.send.s2.length] = new Option(subcat[i][1], subcat[i][2]);}
}
}
function changeselect2(locationid)
{
document.send.s3.length = 0;
document.send.s3.options[0] = new Option('==请选择==','');
for (var i=0; i<subcat2.length; i++)
{
if (subcat2[i][0] == locationid)
{document.send.s3.options[document.send.s3.length] = new Option(subcat2[i][1], subcat2[i][2]);}
}
}
</script>
<BR>
<select name="s1" onChange="changeselect1(this.value)">
<option>==请选择==</option>
<{foreach from=$subcatdatas item=item}>
<option value=<{$item.code}>><{$item.name}></option>
<{/foreach}>
</select>
<select name="s2" onChange="changeselect2(this.value)">
<option>==请选择==</option>
<{foreach from=$subcat item=item}>
<option value=<{$item.provincecode}>><{$item.name}></option>
<{/foreach}>
</select>
<select name="s3" >
<option>==请选择==</option>
<{foreach from=$subcat2 item=item}>
<option value=<{$item.citycode}>><{$item.name}></option>
<{/foreach}>
</select>是这样的么 var subcat = getElementsById('s2');
var subcat2 = getElementsById('s3');没效果啊~~~~(>_<)~~~~
$rev=array();
foreach ($arr as $item){
$tmp = array()
foreach ($item as $k=>$v){
$tmp[] = "'$k'=>'$v'";
}
$rev[] = '{'.join(',',$tmp).'}';
}
return '['.join(',',$rev).']';
}
$tmp[] = "'$k'=>'$v'";
改成
$tmp[] = "'$k':'$v'";