动态 select 的change事件 的JS

动态 select 的change事件 的JS,第1张

总的来说楼主就是要在一个 动态的下拉框选项中动态的绑定事件,点击触发更新下面的数据选项对吧。

首先我不明白楼主的下拉选项你是使用哪种方式绑定进去的。所以无法给出最恰当的方法,只有给个大众点的。

在<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事件时要干的事。

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11928092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存