首先我不明白楼主的下拉选项你是使用哪种方式绑定进去的。所以无法给出最恰当的方法,只有给个大众点的。
在<option onclick='clickEvent(this)' dataId='纪念馆ID'>XXX纪念馆</option>(这段代码是循环绑定选项的时候使用,不管是JS自己去绑定,还是后台数据绑定 都是一样,只要事件绑定上去就可以了)
function clickEvent(obj){
//获取点击的纪念馆ID
var id = $(obj).attr("dataId")
//发生异步请求,获取下列数据内容
$.ajax({
url: "xxxxx",
data: "dataId="+ id, //可以附加其他的数据参数
dataType: "json" , //一般数据异步请求最好都使用json格式,解析起来方便。
success:function(dataJson){
//dataJson 数据已经拿到了,下面的列表数据该怎么绑就怎么绑。
}
})
}
select或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,本文为大家介绍下使用js触发select
onchange事件
select
或text的onchange事件需要手动(通过键盘输入)改变select或text的值才能触发,如果在js中给select或text赋值,则无法触发onchang事件,
例如,在页面加载完成以后,需要触发一个onChange事件,在js中用document.getElementById("province").value="湖北"直接给select或text赋值是不行的,要想实现手动触发onchange事件,需要在js给select赋值后,加入下面的语句
document.getElementById("province").fireEvent('onchange')
来实现,
代码如下:
<head>
<meta
http-equiv="Content-Type"
content="text/html
charset=gb2312"
/>
<title>无标题文档</title>
<script
type="text/javascript">
var
provinces
=
new
Array()
provinces["湖北"]
=
["武汉","襄阳","随州","宜昌","十堰"]
provinces["四川"]
=
["成都","内江","达州"]
provinces["河南"]
=["郑州","南阳","信阳","漯河"]
function
changeProvince()
{
var
prov
=
document.getElementById("province").value
var
city
=document.getElementById("city")
city.options.length
=0
for(var
i
in
provinces[prov])
{
city.options.add(new
Option(provinces[prov][i],provinces[prov][i]))
}
}
window.onload
=
function(){
var
province
=
document.getElementById("province")
for(var
index
in
provinces)
{
//alert(index)
province.options.add(new
Option(index,index))
}
province.fireEvent("onchange")
}
</script>
</head>
<body>
省份:<select
id="province"
onchange=
"changeProvince()"></select>
城市:<select
id="city"></select>
</body>
</html>
你一个JS,然后在其他页面引用这个JS。在这个JS中,将所有的Select都加上Onchange事件。
举例:select.js:
onload = function() {
var selects = document.getElementsByTagName('select')
for(vari =0i<selects.lengthi++){
selects[i].onchange = function() {
//这里就是Onchange事件时要干的事。
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)