2012-04-05 6 views
0
$('.num_questions').each(function() { 

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

});1つの数字だけでなく、すべての数字を表示するには?

私は隠し入力(.num_questions)を持っています。さて、私は2つの質問があると言うと、それはqnum 1と2を表示しますが、次のページに投稿すると、次の質問番号のようにqnum '3'が両方の質問に表示されます。

私が知りたいことは、隠された入力を投稿すると$(".num_questions").val(qnum);に次の質問番号が表示されないようにすることですが、表示されているすべての質問番号を表示するためですそれぞれのnum_questionはqnumを表示し、次の質問のためにqnumに1を加えます.qnumを質問1に、qnum 2を質問2に追加します。両方のqnum '3'ではなく、隠れた入力を次のページに投稿します。質問。以下は

形式です:

<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などですが、問題は私がスパンタグを投稿できないことです。ですから、次のページに投稿できるようにするには、非表示の入力フィールドが必要です。しかし、隠された入力値は、すべての質問に対して1つの数字だけを表示しており、2つの質問の例では、次の質問番号は「3」になります。質問番号のすべてを保存する必要があるので、質問を投稿すると、質問番号1,2,3,4などが表示されます。質問ごとに1つの質問番号が表示されます。それはスパンでうまく動作しますが、非表示の入力フィールドでは機能しません

+1

.each()の内部では、これを代わりに使用します。 '$(this).val(qnum); ' – j08691

+0

は、' qnum'は 'each'ループのすべての項目に対して同じ値を持つべきですか? – Mathletics

+0

@Mathleticsいいえ、各項目については、qnumに異なる値を設定する必要があります。項目1(質問1)の値は「1」、項目2(質問2)の値は「2」などでなければなりませんが、最初の試験が完了した後、複数の試験が作成されますQnumの値は自動的に '1'に戻りますので、単純なカウントを行うことができません。なぜqnumの値を表示する必要があるのですか? – user1304948

答えて

2

ループ内で$(this)を使用すると、ループ中に現在フォーカスされている特定の要素を指しています。$('.num_questions')一般:

$('.num_questions').each(function() { 
    $(this).val(qnum); 
    ++qnum; 
});​ 
+0

あなたが言ったことに一致するように上記のコードを変更しましたが、それでも同じことをしています。質問番号に「1」を表示する代わりに1つの質問を追加すると、次の質問番号となるため「2」と表示され、その番号がページに表示されるので、その値になります – user1304948

+0

@ user1304948あなたの増分 – Curt

+0

それは同じことをやっている。私はコードを更新し、それがあなたに役立つ場合は、より多くの情報を追加してください – user1304948

関連する問題