如何在jQuery中引用带括号的id

Rob*_*Rob 12 javascript jquery

我是jQuery的新手,我需要获取一个id为的文本输入框的更改值,id[2][t]并在div稍后显示该文本(也使用jQuery样式).

这是输入框代码:

<input id="id[2][t]" name="id[2][t]" maxlength="20" type="text">
Run Code Online (Sandbox Code Playgroud)

这是我试图在其中显示的div:

<div id="textpreview"></div>
Run Code Online (Sandbox Code Playgroud)

这是我试过的,除了其他变化没有成功:

$(document).ready(function() {

$('#id\\[2\\]\\[t\\]').change(function() {
  var txtval = $('#id\\[2\\]\\[t\\]').text();
  $("#textpreview").val(txtval);
});

});
Run Code Online (Sandbox Code Playgroud)

我知道括号是一个问题但是由于其他原因需要保留.

有任何想法吗?

Esa*_*ija 9

$( document.getElementById( "id[2][t]" ) ).change( function(){
  $( "#textpreview" ).text( this.value );
} );
Run Code Online (Sandbox Code Playgroud)

  • JQuery puke中的getById实际上从DOM中选择ID的速度提高了30%.(让我看看我是否还能找到那个性能) (2认同)

Jam*_*gne -1

你已经val倒退text了。交换它们:

$('#id\\[2\\]\\[t\\]').change(function() {
  var txtval = $('#id\\[2\\]\\[t\\]').val();
  $("#textpreview").text(txtval);
});
Run Code Online (Sandbox Code Playgroud)

val用于获取文本框的值。 text设置 中的文本div

this您可以通过使用而不是重新查询元素来进一步简化代码。

$('#id\\[2\\]\\[t\\]').change(function() {
  var txtval = this.value;
  $("#textpreview").text(txtval);
});
Run Code Online (Sandbox Code Playgroud)