아래 테이블의 여러 텍스트 영역에서 자바 스크립트 문자 카운터를 사용하려고합니다. 문제는 내 테이블의 첫 번째 행에있는 카운터 전용 함수입니다. 텍스트 영역이있는 후속 행은 "250 자 남음"을 표시하지만 의도 한대로 작동하지 않습니다. 각 문자 카운터에 고유 한 ID를 할당하는 방법을 모르므로 모든 텍스트 영역에서 작동합니다. 어떤 도움을 주시면 감사하겠습니다.테이블에 반복적으로 반복 될 때 문자 카운터가 작동하지 않습니다.
PHP :
echo "</td><td>";
echo '<form action="peerflagreview.php?foorbar=' . $foobar . '" method="post" id="FlagPeerReview">
<A NAME="#peer' . $foobar . '"> (<a href="#peer' . $foobar . '" class="show_hide2">Report</a>)
<textarea class="PeerFlag" value="" name="PeerFlag" id="PeerFlag2"></textarea>
<input type="hidden" value="Post" name="submit" />
<span id="PeerFlag2Span">250 characters remaining</span>
<input type="submit" value="Submit"></form>';
echo "</td></tr>";
JAVASCRIPT :
<script type="text/javascript">
$("#PeerFlag2").on('change keydown paste input', function(){
updateCounter('#PeerFlag2');
});
function updateCounter(theTextAreaID) {
var remaining = 250 - jQuery(theTextAreaID).val().length;
jQuery(theTextAreaID + 'Span').text(remaining + ' characters remaining.');
}
$('textarea').on('keydown', function(event) {
if (event.keyCode == 13)
if (!event.shiftKey) $('#PeerFlag').submit();
});
</script>
ID는 고유해야합니다.이 경우 클래스 이름을 사용해야하고 올바른 텍스트 영역과 출력을 대상으로 메서드를 다시 생각해보아야합니다. – NewToJS
글쎄 $ foobar는 각 행에 대해 고유 한 ID를 포함합니다. – alicia233