-1

複数のフォームがあるため、ID と組み合わせて JQuery セレクター内の変数を使用して、適切な入力値を選択しようとしています。変数と ID セレクターを一緒に使用するにはどうすればよいですか?

私のコード:

$("form").submit(function() {
    var id = $(this).attr("id"); //this grabs the id of the form being submitted
    var name = $("id #name").val();    <-- this is the line in question
});

ありがとう!

4

4 に答える 4

4

ID は一意であるはずなので、本当に必要なのは$('#name').

いずれにせよ、別の要素内の要素を検索したい場合で、その要素への参照が既にある場合は、セレクターを連結しないでください (要素に ID がない場合はどうなりますか?)。などのトラバーサル メソッドを代わりに使用します.find。例えば:

var value = $(this).find('input[name="name"]').val();

すべてのトラバーサル メソッドを見てみましょう: http://api.jquery.com/category/traversing/tree-traversal/

セレクターを動的に構築する必要がある場合は、既に述べたように文字列連結を使用してください。セレクターは単なる文字列です。例:

$('input[name="' + inputName + '"]')
于 2013-07-07T22:04:07.983 に答える
1

あなたは単に文字列を連結しています:

id + ' #name'

作るもの

var name = $(id + " #name").val();

おそらく要素ではないため、これは奇妙idです。そのため、次を追加する必要があります#

'#' + id + ' #name'

あなたは奇妙にIDを使用しているので、これはまだ奇妙です。

于 2013-07-07T22:00:23.527 に答える
0

文字列を連結して正しいセレクターを作成するか、次の方法を使用できます。
$('#name', this).val()これは write と同じです$(this).find('#name').val()

于 2013-07-07T22:04:28.907 に答える
0

他の文字列と同じように、セレクター文字列を作成するだけです。

var name = $("#" + id).val();
于 2013-07-07T22:01:12.133 に答える