基本的に、HTML テキスト入力の束から大きな文字列を作成する必要があります。
まず、これらのテキスト入力はボタンによって動的に作成されるため、ユーザーが必要に応じて任意の量の入力を行うことができます。
個々の動的に作成されたテキスト入力の形式は次のとおりです。
[question] [incorrect-answer1]
[incorrect-answer2]
[incorrect-answer3]
[correct-answer]
Remove
[] で囲まれた各項目はテキスト入力であり、「削除」は現在の質問を削除するボタンです。
これは、各動的質問を作成する jQuery 関数全体です。
function dynamicForm () {
//set a counter
var i = $('.dynamic-input#form-step2').length + 1;
//alert(i);
//add input
$('a#add').click(function () {
$('<table><tr><td><p><span class="left"><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Question" /></span>' +
'<span class="right"><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 1" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 2" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Distraction 3" /><br /><input type="text" class="dynamic-input" name="items[]" id="' + i + '" placeholder="Correct Answer" /><br /><a href="#">Remove</a></span></p></td></tr></table>').fadeIn("slow").appendTo('#extender');
i++;
$("a:contains('Remove')").click(function () {
$(this).parent().parent().remove();
});
return false;
});
//fadeout selected item and remove
$("#form-step2.dynamic-input").on('click', 'a', function () {
$(this).parent().fadeOut(300, function () {
$(this).empty();
return false;
});
});
}
これは、各質問を作成する単純な小さなボタンです。
<a id="add" href="#">Add Question</a>
私が達成する必要があるもの:
ボタンが押されたら、どうにかしてすべての質問要素を収集し、それらを文字列に保存する必要があります。これは、各質問を保存する必要がある形式です。
question1,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
question1,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
question2,incorrect-answer1,incorrect-answer2,incorrect-answer3,correct-answer
上記のように、合計 3 つの質問があります。各質問は、'\n' のように改行で区切る必要があります。順序は、質問、3 つの不正解、正解の順である必要があります。すべてコンマで区切られています。
もちろん、これを誰かに頼んでいるわけではありません。私はまだ PHP と jQuery の初心者なので、ガイダンスとサポートが必要です (PHP を 8 週間、jQuery を 2 週間学習)。私のコードのほとんどは、ここ Stack Overflow やその他のオンライン ソースの既存のコードによって構築されました。
すべてのヘルプは大歓迎です