select标签中设置只读几种解决方案


需求:只读但需要传递到后台。

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" >


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM