想起了小學時候數不盡的一件小事,哎,那夕陽下的奔跑,是我逝去的青春啊。
言歸正傳,先上圖:
<select id="cardNoList" size="4"></select>
實現的效果比較常見的一種,點擊select裡面的option,將其賦值到上面的input,直接用jQuery寫的:
代碼如下:
$("#cardNoList option").click(function(){
$("#card").attr("value","").attr("value",this.value);
})
有個奇怪的事情,
由於面向的用戶基本上都是用的360浏覽器這類國內雙核浏覽器,加了
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
本機Eclipse跑是用的chrome內核進行解析,放到測試環境,就變成ie8標准進行解析了。
現在問題來了,學挖掘……額,不是!
在用IE8打開的時候,點擊option沒有任何反應。
加alert試了下:
代碼如下:
$("#cardNoList option").click(function(){
alert("111");
$("#card").attr("value","").attr("value",this.value);
alert("222");
})
click完全沒有調用到。
一開始以為是jQuery的click事件在ie8下的兼容問題,但jQuery對兼容都封裝解決了,應用如此廣,按理不會就我碰到。
後來想到,可能是在ie8下click根本沒有加到option上面去,改了改,將click加到select上,成了,ie8、Firefox、chrome都可以順利賦值到input裡。
代碼如下:
$("#cardNoList").click(function(){
$("#card").attr("value","").attr("value",this.value);
})
百度了下,貌似“眾所周知,在IE裡, select的option是不支持onclick事件的” o(╯□╰)o
經提醒,改為:
代碼如下:
$("#cardNoList").click(function(){
$("#card").val(this.value);
})