Bir soru oluşturabilecek bir sayfam var, böylece öğrenci daha sonra yanıtlayacaktır. Yeni bir alternatif i eklediğinizde YaniJquery append öğesi, açısal kapsam için geçerli değildir
$(".add").click(function() {
$("ul[class*='questions']").append("<li class = \'item" + count + "alternativa\'>" +
"<input type='radio' name='question' value=\'" + count + "\' id = \'item" + count + "\' />" +
"<label for = \'item " + count + " \' title = 'Mark Complete'></label>" +
"<input ng-model=\question.alternative" + count + "\ maxlength = '50' autofocus = 'autofocus' \
placeholder='Digite a Alternativa' class = \'item" + count + "-textbox\' />" +
"<span class='icon-remove' title='Remove item'></span>" +
"</li>");
: şey 3 alternatifleri ile başlar ve bunu 5 alternatifleri
<textarea ng-model="question.text" rows="4" required></textarea>
<li class = "item1 alternativa">
<input type="radio" name="question" id="answer1" value="0">
<input ng-model="question.alternative0" maxlength = "50" autofocus = "autofocus" placeholder = "Digite a alternativa" class = "item1-textbox" />
<span class = "icon-remove"title = "Remove item"></span>
</li>
<li class = "item2 alternativa">
<input type="radio" name="question" id="answer2" value="1">
<input ng-model="question.alternative1" maxlength = "50" autofocus = "autofocus" placeholder = "Digite a alternativa" class = "item2-textbox" />
<span class = "icon-remove"title = "Remove item"></span>
</li>
<li class = "item3 alternativa">
<input type="radio" name="question" id="answer3" value="2">
<input ng-model="question.alternative2" maxlength = "50" autofocus = "autofocus" placeholder = "Digite a alternativa" class = "item3-textbox" />
<span class = "icon-remove"title = "Remove item"></span>
</li>
ve daha sonra alternatifleri ekleme/kaldırma için bir jquery işlevi var büyüyebilir olduğunu onlar ı insid tüm sorular olması ne yapabilirim tanımsız
$scope.question = {
text: ""
}
$scope.saveQuestion = function (question) {
var videoId = $("#selectLesson").val();
var questionment = question.text;
console.log(question);
var options = [question.alternative0,question.alternative1,question.alternative2,question.alternative3,question.alternative4];
var answer = $("input[type='radio']:checked").val();
console.log(options);
console.log(questionment);
$scope.esconderQuiz = false;
//ConteudoService.saveQuestion(videoId,questionment,options,answer);
}
olarak yazdırılır olarak ancak benim denetleyicisi ben onları ulaşamaz, ilk 3'e aynı yapıya sahip yeni bir giriş etiketine sahip e soru kapsamım bu yüzden hizmetime iletebilir miyim?
düzenleme: 5 alternatifi gizli tutmak bir seçenek olsa da, karmaşık bir çözüm gibi görünmüyor ve daha fazla acıya neden olabilir.
$scope.questions[index].visible = true
Eğer açısal kullanıyorsanız, jQuery kullanmak için bir ihtiyaç olmamalıdır.'Ng-repeat' ve' add.click' öğelerini kullanın, listeye öğe ekle – RajeshAngularJS'yi kullanırken, DOM'yi düzenlememeli ve yönergelerin dışındaki herhangi bir yerde DOM olaylarını dinlememelisiniz. Bu anlaşılması gereken en önemli kurallardan biri. Yani 'jQuery (...). Kullandığınız gibi büyük bir hayır-hayır. –
Ek işlevini açısal bir işlev içinde yapmak hile yapar mı? –