切换输入只读解释

Toggle inputs readonly explanation

我想在 Div 中切换所有输入的只读属性。 我找到了一些解决方案,但只有一个有效。

我想知道为什么这段代码不起作用:

$("#" + id + " :input").each( function() {
       $(this).readOnly = !$(this).readOnly;
});

这是工作代码:

$("#" + id + " :input").each( function() {
    (this).attr("disabled", function(i, d) {
      return !d;   
    });
});

谁能给我解释一下吗?

你可以试试这个:Working Fiddle

我们可以使用 jquery 属性来切换只读属性。

HTML:

<input  type="button" id="btnToggle" value="Toggle" />
<div id="divToggle">
  <label>First:</label><input type="text" id="txtFirst" /><br/>
  <label>Second:</label><input type="text" id="txtSecond" /><br/>
  <label>Third:</label><input type="text" id="txtThird" /><br/>
</div>

jQuery:

$("#btnToggle").click(function(){
  var id="divToggle";
  $("#" + id + " :input").each( function() {
      $(this).prop("readOnly",!$(this).prop("readOnly"));
  });
});