html中select標籤是沒有readOnly屬性的,只有disabled。但是如果設置其的disabled=true之後,在後臺將獲取不到這個屬性值,怎樣可以既讓該select只讀,又可以在後臺獲取該select值呢?在這裏我說下兩種解決方案:
1. 思路:在submit之前,設置其的disabled爲false
function submitMethod(){
//一系列判斷
...
//設置select的disabled爲false
$(":select").attr("disabled", false);
//提交表單
$("#submitform").submit();
}
缺點:如果像上面這樣只有一次請求的還好,如果需要多次跟後臺進行交互,我們就需要來回設置select的disabled屬性,很麻煩
2. 思路:設置select的disabled爲true,同時在form表單中添加hidden,設置其name爲select的name,value爲select的value
function setSelectDisabled(_id){
var obj = $("#" + _id);
var htmltxt = "<INPUT type=hidden value="'+obj.val()+'" name="'+obj.attr('name')+'"></INPUT>";
obj.attr("disabled", "disabled");
$("form").append(htmltxt);
}
這樣做可以避免出現方法1出現的尷尬情況,同時可以根據自己情況,做批量處理