js监听只读文本框_js 动态控制 input 框 的只读属性

需求:

当下拉框的值为06即Voucher时, 文本框才可输入, 其他情况均为置灰不可录入状态.

问题:

设置input框的只读属性写成了readonly="true" 尼玛,坑死我了.下面才对: readonly="readonly"

Payment Mode

-请选择-

Cash

Credit

Debit

Nets

Cheque

Voucher

PresetCredit

Voucher Number

//初始化voucherNo文本框

$(document).ready(function() {varpayNo=$("#payNo");

payNo.attr("readOnly","true");

payNo.css('background-color','#DEDEDE');

});//voucherNo样式

functionchangeStyle(){varpaymentMode=$("#paymentMode").val();//$("#payNo").css('background-color','#DEDEDE');//没毛病

varpayNo=$("#payNo");if(paymentMode!='06'){//没毛病

payNo.attr("readOnly","true");

payNo.css('background-color','#DEDEDE');

}else{

payNo.attr("readOnly",false);

payNo.css('background-color','#FFFFFF');

}

}

以下内容为转载:

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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值