제목이 실제로 내 문제를 설명하지 않으면 미리 사과드립니다. 나는 아직도 javascript/jquery에 익숙하지 않다. 그리고 이것은 내가 문제를 이해하는 방법이다 ...
나는 나의 웹 페이지에 요소를 추가하는 함수를 호출하는 버튼을 사용하고있다.
<button id="bartspbyu" class="btn btn-xs btn-success add-alert" onClick="this.disabled = 'disabled';">Add</button>
클릭하면 볼 수있는 것처럼 자체가 비활성화됩니다. 또한 스크립트를 사용하여 텍스트를 "추가"에서 "추가됨"으로 변경합니다.
$('.add-alert').on('click', function() {
$('#added-alert').fadeIn('slow');
setTimeout(function() {
$('#added-alert').fadeOut('slow');
}, 2000);
$(this).text('Added');
});
사용자는 추가 한 요소를 삭제할 수 있습니다. 그들이 요소를 삭제하면 단추가 다음 스크립트를 사용하여 다시 활성화됩니다 :
이//Reactive Add Button
$(document).on("click", ".drartspbyu", function(){
$("#bartspbyu").removeAttr("disabled");
});
이 잘 작동하지만 나는 그것이 다시 "추가"로 버튼의 텍스트를 변경하려고 노력하고있다. 나는 다음과 같이했다 :
//Reactive Add Button
$(document).on("click", ".drartspbyu", function(){
$("#bartspbyu").removeAttr("disabled", function(){
$(this).text('Add');
});
});
그것은 버튼을 다시 가능하게하지만 텍스트를 편집하는 것이 아니다. $(this)
을 잘못 설정했는지 또는 전체가 잘못되었는지 잘 모르겠습니다.
내가 $("#bartspbyu").text('Add');
과 같은 것을 할 수 있다는 것을 알았지 만, $(this)
을 사용하는 이유는 이러한 추가 버튼이 수백 개이기 때문에 각 개별 ID를 편집하는 데 시간을 낭비하고 싶지 않기 때문입니다 (#bartspbyu는 400 개 중 하나). 언급 된 첫 번째 인스턴스에서 #bartspbyu를 읽는 방법을 찾을 수 있다면 Find + Replace를 수행하고이 여분의 코드 행을 모든 항목에 추가하기 만하면 몇 시간의 작업을 절약 할 수 있습니다.
미리 도움을 청하십시오! 다시 한 번 말하지만, 저는 아직 새로운 것을 알고 있습니다. 그래서 나는 분명히 아주 명백한 것이 빠져 있다는 것을 알고 있습니다.
두 가지. 하나 -'removeAttr'는 콜백이 없습니다 (http://api.jquery.com/removeattr/). 그냥 다음 줄에서'.text()'를 호출하거나 호출을 연결하십시오. 둘째,'.prop()'를 사용하여 비활성 상태를 변경하십시오. – Ian