簡體   English   中英

AJAX和XML多選項選擇測驗-選擇加載到同一變量

[英]AJAX and XML mutiple choice quiz - choices loading to same var

我無法將選擇分開放在不同的行上,我不確定為什么,也無法弄清楚為什么

XML:

<q>
    <qNum>1</qNum>
    <qText>What is the side of a hammer called?</qText>
    <choice>Hammer</choice>
    <choice>Face</choice>
    <choice>Side of the hammer</choice>
    <choice>The check</choice>
</q>

AJAX:

$(document).ready(function(e) {

$.get('quiz.xml', function (d){

    var html;

    var title = $(d).find('title').text();
    var desc = $(d).find('description').text();
    html = '<div><h1>'+title+'</h1><br><h3>'+desc+'</h3><br></div>';
    $('#1').append(html);

    $(d).find('q').each(function(index, element) {

        var $q = $(this);
        var qNum = $q.find('qNum').text();
        var qText = $q.find('qText').text();
        var html2 = '<div><p>'+qText+'</p>';

        $q.find('choice').each(function(index, element) {
            var choice = $q.find('choice').text();
            html2 += '<input type="radio" name="q'+qNum+'" class="choice" value="'+choice+'" /><label class="choice">'+choice+'</label><br>';
        });

        $('#1').append($(html2)); 

    });

});

});

每次都會將所有選擇添加到var中,我無法弄清楚如何使用相同的標簽名稱來分解它們

你應該改變

var choice = $q.find('choice').text();

var choice = element.text();

我認為。 它的外觀是,對於每個選擇,都可以使用$q.find('choice')選擇所有選擇,而只希望當前正在迭代的選擇位於element

請更改為

    var choice = element.textContent;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM