點擊select裡面的option,將其賦值到上面的input,直接用jQuery寫的,問題是在用IE8打開的時候,點擊option沒有任何反應。
實現的效果比較常見的一種,點擊select裡面的option,將其賦值到上面的input,直接用jQuery寫的:
$("#cardNoList option").click(function(){ $("#card").attr("value","").attr("value",this.value); })
有個奇怪的事情,由於面向的使用者基本上都是用的360瀏覽器這類國內雙核心瀏覽器,加了本機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); }
以上就是本章的全部內容,更多相關教學請訪問jQuery影片教學!