【问题标题】:How to make textbox enable and disable on change using JQuery如何使用 JQuery 在更改时启用和禁用文本框
【发布时间】:2013-12-18 17:58:05
【问题描述】:

我有一段 html 代码和脚本代码。我需要解决方案来处理一个文本框的更改事件,该事件禁用在另一个文本字段中输入数据的行为。谁能帮我解决一下。

<div id="cca" class="leaf">
 <label class="control input text" title="">
    <span class="wrap">cca</span>
     <input class="" type="text" value="[Null]"/>
    <span class="warning"></span>
 </label>
</div>
<div id="ccit" class="leaf">
 <label class="control input text" title="">
    <span class="wrap">ccit</span>
     <input class="" type="text" value="[Null]"/>
    <span class="warning"></span>
 </label>
</div>

$(document).ready(function () {        
    alert("hello");        
    $("#cca").on('change', 'label.control input', function (event) {
        alert('I am pretty sure the text box changed');
        $("ccit").prop('disabled',true);
        event.preventDefault();
    });
});

【问题讨论】:

  • 什么不起作用?会不会是你没有&lt;ccit&gt;&lt;/ccit&gt; 元素?
  • 嗨,这是我编写的 html 代码,用于使该脚本执行操作
  • 既然你已经发布了 HTML,它应该是 $("#ccit"),因此我的第一条评论
  • event.returnValue is deprecated. please use the standard event.preventDefault() instead 只是对旧版本 jQuery 的警告,但这不是您的代码无法正常工作的原因。Javascript 是一种客户端语言,所以我不明白您的意思通过它不工作的服务器端。抱歉,我目前不知道如何为您提供帮助,除非您能准确地证明什么是行不通的。
  • @ThotaPallavi 试试我的Update 2 这是我能想到的最后一件事。

标签: javascript jquery html jsp


【解决方案1】:
$("#ccit").attr('disabled','disabled');

【讨论】:

    【解决方案2】:

    因为你在$("ccit") 上缺少#

    $(document).ready(function () {        
        alert("hello");        
        $("#cca").change(function(){
            alert('I am pretty sure the text box changed');
            $("#ccit").prop('disabled',true);
            event.preventDefault();
        });
    });
    

    http://jsfiddle.net/qS4RE/

    更新

    $(document).ready(function () {               
        $("#cca").on('change', 'label.control input', function (event) {
            alert('I am pretty sure the text box changed');
            $("#ccit").find('label.control input').prop('disabled',true);
            event.preventDefault();
        });
    });
    

    http://jsfiddle.net/qS4RE/1/

    更新 2

    $(document).ready(function () {               
        $(document).on('change', '#cca label.control input', function (event) {
            alert('I am pretty sure the text box changed');
            $("#ccit").find('label.control input').prop('disabled',true);
            event.preventDefault();
        });
    });
    

    【讨论】:

    • @ThotaPallavi 我可以就我的回答获得一些反馈吗?对你有帮助吗?
    • 嗨,特雷弗,您共享的代码只有在我为该输入文本框指定 id 时才能正常工作。但在我的情况下,输入文本框没有 id 我正在尝试使用您的示例代码进行少量更改 $("#tan").prop('disabled',true).css('background-color', '#FF0033 ').css('颜色', '#FFFFFF'); $("input:text").prop('disabled',true).css('background-color', '#FF0033').css('color', '#FFFFFF');给出颜色然后我在我用#tan 指定的第一个语句中发现它正在识别该 div 的标签,并且在第二个语句中如果我指定 input:text 它对所有文本字段都被禁用
    • Trevor,请使用我指定的 html 代码给我代码。这对我会更有帮助。
    • 嘿,超级特雷弗。太感谢了。你让我今天一整天都感觉很好。它工作正常。
    • @ThotaPallavi 没问题,请将此答案标记为已接受。检查问题左侧的checkmark。谢谢
    【解决方案3】:

    你也可以使用attr就行了$("ccit").attr('disabled',true);

    如果prop 给你一个错误

    【讨论】:

      猜你喜欢
      • 2017-07-30
      • 1970-01-01
      • 2014-01-06
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多