Я работаю над формой множественного выбора, где пользователь может добавить поле ввода для вопроса. Значит, если в вопрос один ответ, то пользователь может добавить другое поле ввода-ответа ansewer нажав на кнопку. Как мудрый:JQuery Создание конфликта HTML-символов при генерации html с append()
$(document).ready(function() {
var max_fields = 5; //maximum input boxes allowed
var wrapper = $(".addChoices"); //Fields wrapper
var add_button = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append('<div class="form-group"><label class="col-md-3 control-label" for="duration">Answer</label><div class="col-md-6"><input id="duration" name="answer[]" type="password" placeholder="Answer" class="input input-md"> <input type="checkbox" name="correct"> Correct </div>'); //add input box
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
Это работает, но я также хочу, то пользователь может добавить целый другой вопрос, который я написал следующий код.
$(document).ready(function() {
var max_fields = 5; //maximum input boxes allowed
var wrapper = $(".questions"); //Fields wrapper
var add_button = $(".add_question_button"); //Add button ID
var x = 1; //initlal text box count
$(add_button).click(function(e){ //on add input button click
e.preventDefault();
if(x < max_fields){ //max input box allowed
x++; //text box increment
$(wrapper).append('<div class="component addChoices"><!-- Password input--><div class="form-group"><label class="col-md-3 control-label" for="duration">Question</label><div class="col-md-8"><input id="duration" name="duration" type="password" placeholder="Question" class="input input-md"></div></div><div class="form-group"><label class="col-md-3 control-label" for="duration">Answer</label><div class="col-md-6"><input id="duration" name="answer[]" type="password" placeholder="Answer" class="input input-md"><input type="checkbox" name="correct"> Correct <span style="color: blue">Delete Choice</span></div></div></div><div class="form-group"><label class="col-md-3 control-label" for="duration"></label><div class="col-md-6"><button class="add_field_button">Add Choices</button></div></div>'); //add input box
}
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove text
e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
Теперь вопрос заключается в том, что первый код есть кнопка add_field_button
, которая затем снова добавляет в вопросе добавить раздел. На одной странице есть две кнопки с тем же именем, что и JQuery.
Конфликт должен быть устранен.
Вы можете сделать 1-ый кнопка невидимая? – Banzay
Как ??? @Banzay –
В чем проблема? вам не нужна кнопка для добавления вариантов в первый вопрос и еще одна кнопка для добавления вариантов во второй вопрос? –