需求:只读但需要传递到后台。
readonly 设置对select标签无效!
方式一、直接在标签中用js方法设置不可变更(推荐)
<select readonly="readonly" onfocus="this.defaultIndex=this.selectedIndex;" onchange="this.selectedIndex=this.defaultIndex;">
方式二、先利用disabled 属性显示,但需要在表单提交前移除disabled属性。否则无法向后台传递该参数
<select id="pid"readonly="readonly" disabled="disabled" /> //用此方法时,提交表单前移除disabled属性,$("#pid").removeAttr("disabled");
方式三、点击触发js事件时禁用
<select id="pid" readonly="readonly" /> //点击时触发禁用
$(function(){ $("#pid").click(function(){ return false; }); }
方式四、利用disabled 和 隐藏的输入框来传值(推荐)
<select readonly disabled="disabled" />
<input name="pid" value="真实需要传递的参数值" type="hidden" class="hidden" >