0

入力に問題があります。

これが私のhtml/phpコードです:

$dotation = ($ig["dotation"]) ? $ig["dotation"]: '<input type="text" class="datepickerIG" name="igDota" size="8" value="test"/>';
            $bo .= '<tr style="background-color: black;">
                     <td class="dot">' . $dotation . '</td>
                     <td class="modif" ref="' . $ig["id"] . '"><a href="#">Modifier</a></td>

ここに私のjsコードがあります:

        var dot_cha = $(this).parent().find('.dot').val();

私の質問は、なぜ var dot_cha が常に空なのですか?! .val の代わりに .html を使用すると、正しく表示されるので、エラーはどこにあるのでしょうか?

ありがとう。

4

7 に答える 7

3

.val() は、入力要素の値属性を取得します。「.dot」は td であり、値属性がありません。

dot_cha にしたいのは、正確には何ですか? あなたが求めている入力であれば、これはうまくいくでしょう。

$(this).parent().find('.datepickerIG').val();

それが td .html() または .text() のテキストである場合、これが得られます。

于 2012-11-30T09:49:34.253 に答える
1

valinputこの属性を持つ および他のタグの値を取得します。あなたの場合、.dot属性を持たないテーブル行のクラスですvalue...したがって、.text()orを使用する必要があり.html()ます。

于 2012-11-30T09:50:23.113 に答える
0

ここのドキュメントは言う

.val()メソッドは、主にinput、select、textareaなどのフォーム要素の値を取得するために使用されます。

あなたの場合はtdがあり、使用する必要があるため、.htmlは機能します。

$(".dot").html()

それが役に立てば幸い

于 2012-11-30T10:02:52.347 に答える
0

問題は<td>、値がなく、HTML が含まれていることです。

それが、.html が機能し、.val が機能しない理由です。

値を持つ入力に .val を使用しますが、<td>入力ではなく、単なる HTML タグです。

于 2012-11-30T09:49:18.083 に答える
0

val()input要素ではなく、フォーム要素 ( などtextarea) で使用します。

要素のinnerHTMLorを取得する必要があります。innerText

何かのようなもの:

var dot_cha = $(this).parent().find('.dot').text();

ただし、要素のコレクションを取得する可能性があるため、要素が 1 つあることを確認する必要があります。

于 2012-11-30T09:49:24.263 に答える
0

ドキュメントから:

.val() メソッドは主に、input、select、textarea などのフォーム要素の値を取得するために使用されます。要素の場合、.val() メソッドは、選択された各オプションを含む配列を返します。オプションが選択されていない場合は、null を返します。

于 2012-11-30T09:49:25.277 に答える
0

jQuery APIドキュメントから:

.val() メソッドは、主にinput、 、selectなどのフォーム要素の値を取得するために使用されますtextarea

valフォーム要素で使用されます。要素 (フォーム要素ではない) であるため、on を使用し.dotても機能しません。フォーム要素以外の要素のコンテンツを取得するには、またはを使用しますtdval.html.text

于 2012-11-30T09:52:06.983 に答える