js 怎么实现select选中触发事件?

JavaScript08

js 怎么实现select选中触发事件?,第1张

方法:

可以使用jQuery的trigger() 方法来响应事件。

定义和用法:

trigger() 方法触发被选元素的指定事件类型。

语法:

$(selector).trigger(event,[param1,param2,...])

参数描述:

event    必需。规定指定元素要触发的事件。可以使自定义事件(使用 bind() 函数来附加),或者任何标准事件。   

[param1,param2,...]    可选。传递到事件处理程序的额外参数。额外的参数对自定义事件特别有用。

实例:

触发 select元素的change事件:

$("button").click(function(){

$("select").trigger("change")

})

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>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>计算器</title>

</head>

<script>

function calc() {

    var reg = /^\s*|\s$/g

    var first = document.getElementById("first").value.replace(reg, "")

    var opera = document.getElementById("opera").value

    var second = document.getElementById("second").value.replace(reg, "")

    var result = document.getElementById("result")

    

    try {

        var temp = eval(first + opera + second)

        if (temp - parseFloat(temp) >= 0) {

            result.value = temp

        } else {

            result.value = ""

        }

    } catch (e) {

    }

    return false

}

</script>

<body>

<div style="text-align:center">

超级简单计算器

<form>

<input type="text" id="first" onkeyup="calc()"/>

<select id="opera" onchange="calc()">

<option value="+">+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

</select>

<input type="text" id="second" onkeyup="calc()"/>

<input type="button" value="=" onclick="calc()">

<input type="text"  id="result" />

</form></div>

</body>

</html>