需求:

  当下拉框的值为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 框 的只读属性的更多相关文章

  1. php页面输出时,js设置input框的选中值

    /* 设置表单的值 */ function setValue(name, value) { var first = name.substr(0, 1), input, i = 0, val; if ( ...

  2. js控制input框输入数字时,累计求和

    input框输入数字时,自动开始计算累加 <div class="form-group"> <label for="inputPassword3&quo ...

  3. js控制 input框中输入数字时,累计求和

    $('.cc input').bind('input propertychange', function(){ var total = 0; $("input").each(fun ...

  4. JS 限制input框的输入字数,并提示可输入字数

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. js控制input框只能输入数字和一位小数点和小数点后面两位小数

    <script language="JavaScript" type="text/javascript"> function clearNoNum( ...

  6. Js限制Input框只能输入数字

    <input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" /> <input ...

  7. js复制input 框中的值

    function copy(){ var Url2=document.getElementById("copyValue"); Url2.select(); document.ex ...

  8. js对input框的可编辑属性设置

    添加disabled属性 $('#areaSelect').attr("disabled",true); $('#areaSelect').attr("disabled& ...

  9. js-移动端android浏览器中input框被软键盘遮住的问题解决方案

    我遇到的问题:在一个页面里有一个弹出层之前我给我的最外层加了固定定位 用了下面的方法也不好使:没有办法我将之改为绝对定位层级变高在加上一个顶部标签通过js计算顶部高度来实现满屏遮挡: <sect ...

随机推荐

  1. Android -- Annotation

    Override Annotation @Override public void onCreate(Bundle savedInstanceState){}; 概念 An annotation is ...

  2. 怎样将 MySQL 迁移到 MariaDB 上

    自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaD ...

  3. SQL Server 多条查询结果组合

    假如存在下面这张表users: 1.通过sql语句返回总人数.男生总数和女生总数 select count(1) '总人数', (select count(1) from users u2 where ...

  4. [Spring Boot] Complex Scope Scenarios of a Spring Bean - Mix Prototype and Singleton, ScopeProxy

    We have the following example: @SpringBootApplication public class In28minutesScopeApplication { pri ...

  5. 其原因可能是堆被损坏,这也说明 xxx.exe 中或它所加载的任何 DLL 中有 bug

    1.代码如下: string src ="abcdabcd"; char* dst = new char[8]; strcpy(dst,src.c_str()); delete[] ...

  6. ASP.NET 打包多CSS或JS文件以加快页面加载速度的Handler

    ASP.NET 打包多CSS或JS文件以加快页面加载速度的Handler, 使用<link type="text/css" rel="Stylesheet" ...

  7. VMware vCloud Director network ports diagram

    see:http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&exter ...

  8. POSTGRESQL 支持正则表达式

    昨天遇到了一个奇葩的问题,需要在WHERE条件里面添加正则表达式,抱着试试看的态度,查看了一下postgresql,发现确实可以支持正则,例如: select * from user where em ...

  9. Spark的运行模式(1)--Local和Standalone

    Spark一共有5种运行模式:Local,Standalone,Yarn-Cluster,Yarn-Client和Mesos. 1. Local Local模式即单机模式,如果在命令语句中不加任何配置 ...

  10. 算法笔记_198:历届试题 打印十字图(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示: ..$$$$$$$$$$$$$....$...........$..$$ ...