Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

jquery - How i can toggle the input statue disabled

before i ask the question i searched on Stackoverflow about this and found out that i can disable or enable the input by prop or attr, but when i tried to implement this - like the following example- it does not want to toggle, am i missing something? thank you

$(function() {

  $('#submit').on('click', function() {
    $('body').prepend('<div class= "item" ></div>');
    if ($('.item').length > 0) {
      $('#search').removeAttr('disabled');
    }
    if ($('.item').length == 0) {
      $('#search').attr('disabled', 'disabled');
      //$('#search').prop('disabled', true);

    }

  });

  $('#reset').on('click', function() {
    $('.item').remove();
  })
});
button {
  display: inline-block
}

input {
  position: fixed;
  bottom: 0;
  right: 0
}

.item {
  width: 50px;
  height: 50px;
  background: orangered;
  margin: 5px
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='search' id='search' disabled>
<button id='submit'>Submit</button>
<button id='reset'>Reset</button>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

For your HTML, use this:

<input type='search' id='search' disabled="disabled">
<button id='submit'>Submit</button>
<button id='reset'>Reset</button>

Notice that of [disabled="disabled"], then your JavaScript use:

<script>
(function() {
  var searchInput = $("#search");
  var searchAttr = $("#search").attr("disabled");

  $( "#submit" ).click(function() {
    $('body').prepend('<div class= "item" ></div>');
    if ( $('.item').length === 0 ) { // Use triple equals for exact type check

      searchInput.attr( "disabled", searchAttr );
    } else{
      searchInput.removeAttr("disabled");
    }
  });

  $('#reset').on('click', function() {
    $('.item').remove();
    searchInput.attr( "disabled", searchAttr );
  })
})();
</script>

This should work.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...