先吼一句:瀏覽器標準不統一真不是一件好事吧,拍磚的請砸向遠方,我扛不住..

好吧,說說我BT的需求先<之前已經被同事小朋友說需求BT了,哈>:

有一個表單,裡面有幾個select選項,我需要顯示給用戶看,可我又不給你選,但我又希望這個表單能以正常的方式提交,select什麼就是什麼,我不想把他搞成TXT或者input readonly的形式給用戶看,我就是要以表單的形式體現..orz,我可真固執..

好吧,其實原因是這樣的,這個postaction的後面,我是用了一個django的form,我不想搞成txt或者input的形式就是不想在我傳給這個form之前我還要做預處理..是不是很想砸我,好吧,這些都不是重點,看看我是怎麼”搞定”的吧,之所以搞定加了雙引號,是因為我沒有本質上的搞定,但達到了我的需求了-_-

假設某個select的ID是id_rdtype,如:

<select name=”rdtype” id=”id_rdtype”>

<option value=”CNAME”>CNAME</option>
<option value=”A” selected=”selected”>A</option>

</select>

默認展現給用戶看的是A,可我又不想給用戶選到CNAME,好吧,第一次我是這樣做的:

$(“#id_rdtype”).attr({
‘disabled’:true
})

好吧,選是不能選了,用戶也確實看不到,可是後臺看不到-_-這樣做的後果是這個post動作不傳這個值,那就不是我要的結果了,我還是希望他告訴我,這個值是這樣的,好吧,再無語自己一下,什麼需求嘛,再來看看我的第二個辦法:

$(“#id_rdtype option:not(:selected)”).attr(“disabled”,”disabled”)

先偷偷告訴你,如果沒有使用jQuery,這個javascript語句是不幹活地,所以,請記得先加載jQuery的文件,嗯,這次算是好一點,確認可以了,傳值,包括給用戶的體驗都可以做到了<我把所有未被默認選擇到的元素disabled了>,等等,拿多幾個瀏覽器測試下,杯具了,發現ie6/ie7設置這個disabled沒用,orz,我可不能漏著這個大”BUG”丫,再想辦法..google之,好吧,確實找到了一些解決辦法,大部份都是借助jQuery的,可好吧,不得不再說一下我自己,我實在不想寫那麼多句javascript-_-真懶…繼續想辦法

華麗麗滴,讓我想到了一個辦法,下狠手,我一不做,二不休..把其它”元素”和諧掉,那不就可以了-_-

$(“#id_rdtype option:not(:selected)”).remove()

好了,我要的問題終於解決了,我得意的笑啊得意的笑~