禁用非选定div元素内的输入字段

mnemlml8  于 2021-09-23  发布在  Java
关注(0)|答案(3)|浏览(270)

我在div中有输入字段。我想禁用div id不等于某个变量的所有输入字段。例如,我的id==12,我想禁用id为!=12的div元素中的所有输入字段12.如何在jquery中实现这一点。提前谢谢

c3frrgcw

c3frrgcw1#

要禁用div中的所有输入元素,请使用以下代码:

$(‘#message :input’).attr(‘disabled’, true);

要禁用div中的所有select元素,请使用以下代码:

$(‘#message :select’).attr(‘disabled’, true);

要禁用div中的所有提交按钮,请使用以下代码:

$(“#message :submit”).attr(“disabled”, “true”);
9jyewag0

9jyewag02#

使用jquery

jQuery(document).ready(function(){
   const elements = jQuery('div.parent > input')
   elements.each(function(inputField){

      const id = this.id;
      this.disabled = parseInt(id) !== 12 ? true: false
   })
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent" class="parent">

  <input type="text" id="1" value="test 1"/> 
  <br/>
  <input type="text" id="2" value="test 2"/> 
  <br/>
  <input type="text" id="12" value="test 12"/> 
  <br/>

</div>

使用javascript

const parentElement = document.getElementById('parent');
const elements = parentElement.querySelectorAll('input');

//disable input fields having id != 12

elements.forEach(function(inputField){
   const id = inputField.id;
   if(parseInt(id) !== 12){
     inputField.disabled = true
   }
})
<div id="parent">

  <input type="text" id="1" value="test 1"/> 
  <br/>
  <input type="text" id="2" value="test 2"/> 
  <br/>
  <input type="text" id="12" value="test 12"/> 
  <br/>

</div>
qzwqbdag

qzwqbdag3#

使用 not 选择器。

$("div:not(#message) :input").attr('disabled', true);
$("div:not(#message) :input").attr('disabled', true);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="message">
  <input type="text" value="DIV = MESSAGE ">
</div>

<div>
  <input type="text" value="DIV != MESSAGE">
</div>

相关问题