나는 고통스럽게 jQuery에 익숙하지 않고 id를 가진 텍스트 입력 상자의 변경에 대한 가치를 잡아야한다.id[2][t]
그 텍스트를div
나중에 스타일을 지정할 수도 있습니다 (jQuery 스타일).
이것은 입력 상자 코드입니다.
<input id="id[2][t]" name="id[2][t]" maxlength="20" type="text">
이것은 그것을 표시하려고하는 div입니다.
<div id="textpreview"></div>
이것이 제가 시도한 것입니다. 성공하지 못한 다른 변형들 중에서도 :
$(document).ready(function() {
$('#id\\[2\\]\\[t\\]').change(function() {
var txtval = $('#id\\[2\\]\\[t\\]').text();
$("#textpreview").val(txtval);
});
});
괄호가 문제라는 것을 알고 있지만 다른 이유로 남아 있어야합니다.
어떤 아이디어?
너는있어.val
과text
뒤로. 그들을 교환하십시오 :
$('#id\\[2\\]\\[t\\]').change(function() {
var txtval = $('#id\\[2\\]\\[t\\]').val();
$("#textpreview").text(txtval);
});
val
텍스트 상자의 값을 가져 오는 데 사용됩니다.text
텍스트를div
.
다음을 사용하여 코드를 더 단순화 할 수 있습니다.this
요소를 다시 쿼리하는 대신
$('#id\\[2\\]\\[t\\]').change(function() {
var txtval = this.value;
$("#textpreview").text(txtval);
});
$( document.getElementById( "id[2][t]" ) ).change( function(){
$( "#textpreview" ).text( this.value );
} );
대신 속성 선택기를 사용하십시오.
var sel = $("[id='id[2][t]']");
sel.change(function() {
$("#textpreview").val(sel.text());
});
text
과val
잘못된 장소에서 사용되고 있습니다. - James Montagnedocument
기본적으로 모든 단일 노드에서 해당 속성과 해당 값이 일치하는지 여부를 확인합니다. 사람들은 이것을 알고 있어야합니다 / 이해해야합니다. - Raynos
일반 오래된 자바 스크립트 :
var elem = document.getElementById('id[2][t]');
elem.onchange = function()
{
var elem = document.getElementById('textpreview');
elem.removeChild(elem.firstChild)
elem.appendChild(document.createTextNode(this.value));
}
아 ... 이제 기분이 나아지지 않니?
elem.addEventListener('change', function () { ... })
- Raynos.onchange
크로스 브라우저,addEventListener
아니다) - Ryan Kinal.textContent
지원.addEventListener
귀하의 인수는 null입니다. - Raynos
id 선택기 대신 속성 선택기를 사용해 볼 수 있습니다.
$('[id="id[2][t]"]')
\\[
과\\]
? DOM의 한 항목에 대해서는 느린지 누가 신경 쓰나요? 이 조회를 캐싱하거나 나중에 클래스를 추가하거나 ID를 변경하여 나중에 조회 속도를 높일 수 있습니다. 나는 너에 대해 알지 못하지만 내 끈의 모든 곳에 백 슬래시가있는 것을 싫어한다. 나는 그들이 구토를 도울 수있는 약을 가지고 있다고 생각합니다. 기분이 나아 졌으면 좋겠어요. - Rocket Hazmat
$(this).val() === this.value
기억하십시오 ... jQuery를 사용할 필요가 없습니다.모두 - rlemon