0

我有一些带有 id 的文本框,其中包含特殊字符,例如 '(' 和 ')' 。当我访问这个文本框的值时,我得到的值是未定义的。需要解决这个问题...

  <input type="text" id="header_COUNT(SUBJECT)"  onblur="javascript:setHeader();" disabled="disabled">

脚本是

function setHeader(){
var val=$('#header_COUNT(SUBJECT)').val();
console.log(val);

}
4

4 回答 4

1

这不是一个复杂的选择器。您可以使用getElementById

var val=$(document.getElementById('header_COUNT(SUBJECT)')).val();
于 2012-11-05T10:50:21.567 回答
0

You can escape characters in jQuery with 2 backslashes \\

So reference it like:

$('#header_COUNT\\(SUBJECT\\)')

jsFiddle

于 2012-11-05T10:53:21.787 回答
0

Use the following code

function setHeader(){
var val=$('input[id="header_COUNT(SUBJECT)"]').val();
console.log(val);
}
于 2012-11-05T10:54:02.983 回答
0

jsbin

var id_with_special_chars = 'header_COUNT(SUBJECT)';
var value =  $('input[id="'+id_with_special_chars+'"]').val();

alert(value);
于 2012-11-05T10:55:47.587 回答