2
tablerow의 모든 값을 함께 추가하려고합니다. 누군가 입력 필드에 값을 입력하자마자. 테이블 :JQuery : 동적으로 생성 된 입력 필드의 입력 이벤트
<table>
<thead>
<tr>
<th>
Title
</th>
<th>
Input
</th>
<th>
Total
</th>
</tr>
</thead>
<tbody>
<!-- Dynamially Generated Table Columns -->
<tr>
<td>Example</td>
<td><input type="text" class="inputField" /></td>
<td>Total: x</td>
</tr>
</tbody>
</table>
내가 지금까지 찾은 유일한 해결책은 다음과 같습니다
여기$(document).on('input', '.inputField', function(){ /* Do something */});
문제는,이 라인은 문서의 모든 입력 필드를 읽습니다, 그러나 나는 단지 한 줄의 그것들만을 원한다. 또한 'tbody'
으로 변경하면 tablebody의 모든 필드를 읽게됩니다.
그래서 내가 찾고있는 것은 하나의 단일 tablerow의 입력을 선택하는 방법입니다. 따라서이 값들을 가져 와서 함께 추가 할 수 있습니다.
도움을 주셔서 감사합니다.
을 작성할 수 있습니다. 실제로 '
답변
에 대한 .change을 사용할 수 있으며,이 모든에 입력 한 총을 원한다.
해당 이벤트를 계속 사용할 수 있습니다. 그러나 핵심은 현재 행에 속하는 입력 만 선택하는 것입니다. 이벤트가 발생한 요소를 알고 있기 때문에 해당 정보를 사용하여 상위 행을 찾아 해당 행의 다른 모든 입력 요소를 검색 할 수 있습니다. 다음과 같은 내용 :
위의 유의 사항 필드에 입력 한 값이 실제로 유효한 정수인지 그 밖의 값인지에 대한 검증은 포함하지 않았습니다. 그것을 고려해 볼 가치가 있습니다.
예를 들어,
<td>
근처에 쓰고 싶다면<td>
클래스를 작성하는 것이 가장 좋습니다.class="total"
, 그러면 쉽게 업데이트 할 수 있습니다. 그래서 그 대신 위의 예에서, 당신은 이해가되지 않습니다 "모두 함께 추가"그래서, 당신의 예 행에 하나의 필드가있다
출처
2016-08-19 12:14:32 ADyson
고마워, 내가 물건을 바꿔야했지만 결국에는 완벽하게 작동했다. – bendajo
당신이 대답은 당신이 현실에서 같은
<tr>
내에서 여러<input>
요소가있을 것입니다 의미 가정되는출처
2016-08-19 12:11:22 fernando
이것은 "이전"이며 감가 상각 된 이벤트 바인딩 방법으로 간주됩니다. "on()"메서드를 사용하면 각 입력에 대해 하나씩 EventListener를 하나씩 만 생성하므로 훨씬 편리합니다. –
변경 괜찮아요, ** 더 이상 사용되지 않습니다 **. 변경 사항을 검사하면 어쨌든 on()에 대한 래퍼 일뿐입니다. 변경에서 전환으로 전환 할 필요가 없습니다. – Liam
관련 문제