为了账号安全,请及时绑定邮箱和手机立即绑定

当特定输入字段聚焦时,jQuery禁用输入字段

当特定输入字段聚焦时,jQuery禁用输入字段

UYOU 2022-06-16 10:52:29
我有两个输入字段,如果另一个有值,我希望禁用另一个。我使用 jQuery 进行了尝试,但没有任何反应。有人可以知道我该怎么做吗?谢谢我的输入框<ul><li id="fixedSalaryList"><b>Fixed Salary (Monthly)</b>    <a href="#" class="show-input">$<?php echo $data['app1']['salary']; ?> <img src="<?php echo $dirimg; ?>/arrow-right.svg"></a>    <input type="text" name="salary[]" id="fixedSalary" class="assest-input inputNumber" value="<?php echo $data['app1']['salary']; ?>" inputmode="numeric"></li><li id="selfEmployedList"><b>Self-Employed Income (Annually)</b>    <a href="#" class="show-input">$<?php echo $data['app1']['selfEmployedIncome']; ?><img src="<?php echo $dirimg; ?>/arrow-right.svg"></a>    <input type="text" name="selfEmployedIncome[]" id="selfEmployed" class="assest-input inputNumber" value="<?php echo $data['app1']['selfEmployedIncome']; ?>" inputmode="numeric"></li></ul>jQuery $('input').on('input', function() {    $(this).closest('li').find('input').not(this).prop('disabled', this.value.length)  });$('li input').on('input', function() {    $(this).closest('li').find('input').not(this).prop('disabled', this.value.length)});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script><ul><li id="fixedSalaryList"><b>Fixed Salary (Monthly)</b>    <a href="#" class="show-input">$</a>    <input type="text" name="salary[]" id="fixedSalary" class="assest-input inputNumber"  inputmode="numeric"></li><li id="selfEmployedList"><b>Self-Employed Income (Annually)</b>    <a href="#" class="show-input">$</a>    <input type="text" name="selfEmployedIncome[]" id="selfEmployed" class="assest-input inputNumber"  inputmode="numeric"></li></ul>
查看完整描述

3 回答

?
炎炎设计

TA贡献1808条经验 获得超4个赞

你可以这样做:


$(document).ready(function() {

  $("#fixedSalary").on("input", function() {

    if ($("#fixedSalary").val() != "") {

      $("#selfEmployed").prop('disabled', true);

    } else {

      $("#selfEmployed").prop('disabled', false);

    }

  });


  $("#selfEmployed").on("input", function() {

    if ($("#selfEmployed").val() != "") {

      $("#fixedSalary").prop('disabled', true);

    } else {

      $("#fixedSalary").prop('disabled', false);

    }

  });

});


$("#btnReset").click(function() {

  $("#fixedSalary").prop('disabled', false);

  $("#selfEmployed").prop('disabled', false);

});

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<ul>

  <li id="fixedSalaryList"><b>Fixed Salary (Monthly)</b>

    <a href="#" class="show-input">$</a>

    <input type="text" name="salary[]" id="fixedSalary" class="assest-input inputNumber" inputmode="numeric">

  </li>

  <li id="selfEmployedList"><b>Self-Employed Income (Annually)</b>

    <a href="#" class="show-input">$</a>

    <input type="text" name="selfEmployedIncome[]" id="selfEmployed" class="assest-input inputNumber" inputmode="numeric">

  </li>

</ul>


<input type="submit" text="Reset" id="btnReset">


查看完整回答
反对 回复 2022-06-16
?
ITMISS

TA贡献1871条经验 获得超8个赞

你可以通过这样的change()活动来做到这一点


jQuery


$(document).ready(function(){

  $("#selfEmployed").change(function(){

   $("#fixedSalary").prop('disabled', true);

  });


  $("#fixedSalary").change(function(){

   $("#selfEmployed").prop('disabled', true);

  });


});

现在它将双向工作。


查看完整回答
反对 回复 2022-06-16
?
DIEA

TA贡献1820条经验 获得超2个赞

这正是您正在寻找的


$(document).ready(function(){

  $("#selfEmployed").keyup(function(){

  if(!$("#selfEmployed").val()){

  $("#fixedSalary").prop('disabled', false);

  } 

  else {

   $("#fixedSalary").prop('disabled', true);

   }

});



  $("#fixedSalary").keyup(function(){

  if(!$("#fixedSalary").val()) {

  $("#selfEmployed").prop('disabled', false);

  } 

  else {

   $("#selfEmployed").prop('disabled', true);

   }

  }); 

});


注意:请记住,我们是在keyup()活动中执行此操作的,因此即使您删除输入,它也会起作用。


查看完整回答
反对 回复 2022-06-16
  • 3 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信