js 动态控制 input 框 的只读属性
需求:
当下拉框的值为06即Voucher时, 文本框才可输入, 其他情况均为置灰不可录入状态.
问题:
设置input框的只读属性写成了readonly="true" 尼玛,坑死我了.下面才对: readonly="readonly"
<td>
Payment Mode
<select id="paymentMode" name="paymentMode" style="width: 155px" onchange="changeStyle()">
<option selected value="">-请选择-</option>
<option value="01">Cash</option>
<option value="02">Credit</option>
<option value="03">Debit</option>
<option value="04">Nets</option>
<option value="05">Cheque</option>
<option value="06">Voucher</option>
<option value="90">PresetCredit</option>
</select>
</td>
<td align="right">
Voucher Number
<input class="inuptxt ac_input" type="text" id="payNo" name="payNo" readonly="readonly">
</td>
<script> //初始化voucherNo文本框
$(document).ready(function () {
var payNo = $("#payNo");
payNo.attr("readOnly","true");
payNo.css('background-color','#DEDEDE');
}); //voucherNo样式
function changeStyle(){
var paymentMode = $("#paymentMode").val();
// $("#payNo").css('background-color','#DEDEDE');//没毛病
var payNo = $("#payNo");
if(paymentMode!='06'){//没毛病
payNo.attr("readOnly","true");
payNo.css('background-color','#DEDEDE');
} else {
payNo.attr("readOnly",false);
payNo.css('background-color','#FFFFFF');
}
} </script>
以下内容为转载:
input 框的只读属性: readonly
在页面中直接添加为只读时,可在input中直接添加 readonly="readonly",但是如果想通过点击按钮来改变的话,需要通过js(或jquery)来实现。
最近一次使用这个,终于发现了以前写这个js控制的时候为什么总是那么郁闷了,原来,js 在对于readonly、disabled等属性设置时,有一个小bug(至少我是这么认为):首先,document.getElementById("id").readonly = "true"; 设置input为只读,但是,当通过document.getElementById("id").readonly="false" 来去掉只读属性时,没有作用,此时,需要把 false 外面的引号给去掉js语句才能正常工作。
附:
1. jquery 通过id属性设置与取消只读属性
设置只读:$("#id").attr("readOnly","true");
取消只读:$("#id").attr("readOnly",false);//注意false不带引号!!!
2. jquery 批量设置与取消只读属性
/* id为sa的div中,所有input框 */
设置只读:$("#sa input").attr("readOnly","true");
取消只读:$("#sa input").attr("readOnly",false);
感谢:https://blog.csdn.net/katherine119/article/details/39154615
js 动态控制 input 框 的只读属性的更多相关文章
- php页面输出时,js设置input框的选中值
/* 设置表单的值 */ function setValue(name, value) { var first = name.substr(0, 1), input, i = 0, val; if ( ...
- js控制input框输入数字时,累计求和
input框输入数字时,自动开始计算累加 <div class="form-group"> <label for="inputPassword3&quo ...
- js控制 input框中输入数字时,累计求和
$('.cc input').bind('input propertychange', function(){ var total = 0; $("input").each(fun ...
- JS 限制input框的输入字数,并提示可输入字数
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- js控制input框只能输入数字和一位小数点和小数点后面两位小数
<script language="JavaScript" type="text/javascript"> function clearNoNum( ...
- Js限制Input框只能输入数字
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> <input ...
- js复制input 框中的值
function copy(){ var Url2=document.getElementById("copyValue"); Url2.select(); document.ex ...
- js对input框的可编辑属性设置
添加disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled& ...
- js-移动端android浏览器中input框被软键盘遮住的问题解决方案
我遇到的问题:在一个页面里有一个弹出层之前我给我的最外层加了固定定位 用了下面的方法也不好使:没有办法我将之改为绝对定位层级变高在加上一个顶部标签通过js计算顶部高度来实现满屏遮挡: <sect ...
随机推荐
- [Math]理解卡尔曼滤波器 (Understanding Kalman Filter) zz
1. 卡尔曼滤波器介绍 卡尔曼滤波器的介绍, 见 Wiki 这篇文章主要是翻译了 Understanding the Basis of the Kalman Filter Via a Simple a ...
- RNN(Recurrent Neural Networks)公式推导和实现
RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...
- vc2008中mfc菜单、控件等汉字显示为问号或乱码的解决方法
在vc2008中建立基于mfc的project.在向导的Application type页面中如果在resource language选项中选择"英语(美国)"(图一),那么在pr ...
- cmake 学习笔记(三) (转)
接前面的 Cmake学习笔记(一) 与 Cmake学习笔记(二) 继续学习 cmake 的使用. 学习一下cmake的 finder. finder是神马东西? 当编译一个需要使用第三方库的软件时,我 ...
- javascript中的关联数组
所谓关联数组(associative array), 就是指javascript中的对象. 因为javascript中的属性就是一个个的键值对,可以通过obj[attr]的方式访问,很类似数组. 这种 ...
- 一起talk C栗子吧(第一百三十三回:C语言实例--创建进程时的内存细节)
各位看官们.大家好,上一回中咱们说的是从内存角度看进程和线程的样例.这一回咱们说的样例是:创建进程时的内存细节.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们.我们都知道使用fork函数能 ...
- C语言编程流程
大家都知道,写程序大体步骤为:1.用编辑器编写源代码,如.c文件.2.用编译器编译代码生成目标文件,如.o.3.用链接器连接目标代码生成可执行文件,如.exe.但如果源文件太多,一个一个编译时就会特 ...
- 012-Go ORM框架之Gorm测试
1:参考:https://github.com/jinzhu/gorm 2:数据库脚本(pg) -- create table posts( id serial primary key, conten ...
- 远程IPC种植木马
要实现代码例如以下: ///////////////////////////////////////////////////////////////////////////////////// typ ...
- Vue项目的npm环境搭建
Vue项目的环境搭建主要步骤如下: vue项目创建 安装NodeJS +到官网下载自己系统对应的版本,这里我们下载Windows系统的64位zip文件,下载完成后解压,可以看到里面有一个node.ex ...