1

このjqueryコードを使用して、名前のテキストボックスの値を選択したい: studentid[1] :

var id = 1;
var a = $("input[type='text'][name='studentid\["+id+"\]").val(); 

警告ボックスに「未定義」として出力されます。私の構文は正しいですか?

4

7 に答える 7

2

終了の一重引用符と終了の角括弧を省略しました。必要に応じてバックスラッシュを 2 つ追加した修正版を次に示します。

var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val();
于 2012-05-18T18:30:32.303 に答える
1
var id =1;
$('input[type=text][name="A['+ id +']"]');
于 2012-05-18T18:44:49.277 に答える
1

[and には]、それらをエスケープするために 2 つのバックスラッシュが必要です。また]、属性セレクターの終了が欠落しています。

var id = 1;
var a = $("input[type='text'][name='studentid\\["+id+"\\]']").val(); 
于 2012-05-18T18:35:10.547 に答える
1

はい、いくつかの構文エラーがあります。末尾の括弧と引用符を挿入するのを忘れました。さらに、括弧をエスケープする際に特別な必要はありません。このコードは正常に動作します:

$(":text[name='studentid[" + id + "]']").val();

デモ: http://jsfiddle.net/jW2MR/

于 2012-05-18T18:35:31.193 に答える
1

これは、あなたの望むことですか? http://jsfiddle.net/J5jN8/

于 2012-05-18T18:36:02.193 に答える
1

私はこれがうまくいくと思うJsFiddleのデモ

var id = 1;
var a = $("input[type=text][name=studentid["+id+"]]").val(); 
alert(a);
于 2012-05-18T18:28:55.590 に答える
1

代わりに 2 つのバックスラッシュを使用してみてください。jQueryのドキュメントによると:

メタ文字 ( !"#$%&'()*+,./:;<=>?@[]^`{|}~ など) を\ という 2 つのバックスラッシュで文字をエスケープする必要があります。

于 2012-05-18T18:31:58.630 に答える