0

WebPage に動的に行を追加していますが、ある時点で行内の各セルの値を取得したいと考えています。

これは私の行の宣言です:

<tr class="template-upload fade">
<td class="name"><span>{%=file.name%}</span></td>
<td class="title"><label>Andar: <input name="andar" required></label></td>
</tr>

ご覧のとおり、行には名前とタイトルの 2 つのセルがあります。jQueryを使って「name」セルの値と入力「andar」の値を取得しようとしています。

これは私がこれまでに持っているものです:

$('.template-upload tr').each(function () {
        var item = $(this); //this should represent one row

        var name = item.find('.name').text();
        var andar = item.find('input:text[name=andar]').val();
});

ただし、この2つの変数では何も得られません。

ここで何が欠けているのでしょうか?

4

5 に答える 5

1

あなたは近かったのでtr、セレクターから を削除する必要がありました。あなたの行にはすでにクラスがある.template-uploadため、$('.template-upload tr')存在しません:

$('.template-upload').each(function () {
        var item = $(this); //this should represent one row
        var name = item.find('.name').text();
        var andar = item.find('input:text[name=andar]').val();
});

jsFiddle の例

于 2013-03-07T23:36:11.600 に答える
0

trセレクターから削除します。

$('.template-upload')
于 2013-03-07T23:36:21.853 に答える
0

あなたのセレクターは正しいですか?それを見ると、セレクターは、クラスを持つ要素.template-upload trの要素を探していることを意味します。tr.template-upload

私はあなたが望んでいると思います:

$('tr.template-upload').each(...)
于 2013-03-07T23:36:27.347 に答える
0

.template-upload あなたtr

セレクターを次のように変更します。

$('.template-upload').each(function(node){ /* logic */ }
于 2013-03-07T23:37:01.907 に答える
0

タイプミスがあります...

$('tr.template-upload').each(function () {
    ...
});
于 2013-03-07T23:38:08.433 に答える