0
$('.num_questions').each( function() {

$(this).val(qnum);
++qnum;
$(".questionNum").text(qnum);

});

非表示の入力 ( .num_questions) があります。ここで、2 つの質問があるとします。qnum 1 と 2 が表示されますが、次のページに投稿すると、次の質問番号であるため、両方の質問に qnum '3' が表示されます。

だから私が知りたいのは$(".num_questions").val(qnum);、非表示の入力を投稿するときに次の質問番号を表示せずに、表示されているすべての質問番号を表示するにはどうすればよいかということです.2つの質問がある場合、num_questionごとにqnum を入力してから、次の質問の qnum に 1 を追加します。両方の質問の qnum '3' ではなく、隠し入力を次のページに投稿すると、質問 1 が qnum 1 になり、質問 2 が qnum 2 になるはずです。

以下はフォームです。

    <form id="QandA" action="insertQuestion.php" method="post" enctype="multipart/form-data">

<div id="detailsBlock">
<table id="question">
<tr>
    <th colspan="2">
        Question Number <span class="questionNum">1</span>
        <input type="hidden" class="num_questions" value="1" name="numQuestion">
    </th>
</tr>

</table>
</form> 

スパン .questionNum が表示されている場所では、すべての質問に質問番号が追加され、次の質問に 1 が追加されるため、これは正常に機能します。したがって、最初の質問には質問番号 1、2 番目の質問には質問番号 2 などを取得します。問題は、span タグを投稿できないことです。したがって、次のページに投稿できるようにするには、非表示の入力フィールドが必要です。しかし、非表示の入力値はすべての質問に対して 1 つの数字のみを表示しており、それは 2 つの質問の例では「3」である次の質問番号になります。投稿時に質問番号1、2、3、4などが表示されるように、すべての質問番号を保存する必要があります。質問ごとに1つの質問番号。スパンでは正常に機能しますが、非表示の入力フィールドでは機能しません

4

1 に答える 1

2

ループ内で使用することにより、一般的な$(this)ものだけでなく、ループ中に現在フォーカスされている特定の要素を参照しています。$('.num_questions')

$('.num_questions').each(function() {
    $(this).val(qnum);
    ++qnum;
});​  
于 2012-04-05T14:46:59.857 に答える