又發現自己寫的JavaScript程式碼在FireFox下運行出錯,原因很鬱悶,在取得一個Radio元素的值的時候只得到了 undefind。
Google了一下,大多跟我用的方法是一樣的
var value = $("input[name='radio1'][type='radio'][checked]").val();
這句話在IE、Safari (3.2)下測試通過,但是在FireFox、Chrome下卻得不到選取的值。
仔細再看手冊,發現「表單物件屬性」這個清單。難道說對表單物件有專用的屬性判斷的方法?把程式碼改一下
var value = $("input[ name='radio1'][type='radio']:checked").val();
在IE、FireFox、Chrome、Safari(3.2)下測試均通過。
順便測試了select元素,手冊上的寫法跟我常用的寫法,在上述幾個瀏覽器下都可以獲得到正確的值。
var value1 = $("select").val("select").val("select").val("select").val("select"). ); var value2 = $("select option:selected").val();
我是在jQuery 1.32版本下測試的,大家可以試試看。