このjqueryコードを使用して、名前のテキストボックスの値を選択したい: studentid[1] :
var id = 1;
var a = $("input[type='text'][name='studentid\["+id+"\]").val();
警告ボックスに「未定義」として出力されます。私の構文は正しいですか?
終了の一重引用符と終了の角括弧を省略しました。必要に応じてバックスラッシュを 2 つ追加した修正版を次に示します。
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
var id =1;
$('input[type=text][name="A['+ id +']"]');
[
and には]
、それらをエスケープするために 2 つのバックスラッシュが必要です。また]
、属性セレクターの終了が欠落しています。
var id = 1;
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
はい、いくつかの構文エラーがあります。末尾の括弧と引用符を挿入するのを忘れました。さらに、括弧をエスケープする際に特別な必要はありません。このコードは正常に動作します:
$(":text[name='studentid[" + id + "]']").val();
これは、あなたの望むことですか? http://jsfiddle.net/J5jN8/
私はこれがうまくいくと思うJsFiddleのデモ
var id = 1;
var a = $("input[type=text][name=studentid["+id+"]]").val();
alert(a);
代わりに 2 つのバックスラッシュを使用してみてください。jQueryのドキュメントによると:
メタ文字 ( !"#$%&'()*+,./:;<=>?@[]^`{|}~ など) を\ という 2 つのバックスラッシュで文字をエスケープする必要があります。