Codeigniter jquery无法将JS中的所有值传递给视图

时间:2014-06-08 07:07:08

标签: javascript jquery ajax json codeigniter

只想将JS文件中的所有值传递给视图。现在它只传递一个结果。例如,我获得了问题1,答案1,问题2,答案2 的值,但它仅向视图传递值 question2 answer2 。你能帮我把JS中的所有值传递给jquery中的循环。

以下是我的观点:

 <div id="accordion">
                 <h3><a href="#" class="question"></a></h3>
                 <div class="answer"></div>  
            </div>

这就是它的样子:

enter image description here

这是我的JS文件:

$(".faq_title").click(function(){
    var title = $(this).text();

    $.post('faq/get_faq_data', { title: title }, function (data) {

        var my_obj = data;        
        $.each(my_obj, function (i) {

           var question = my_obj[i].faq_question;
           var answer = my_obj[i].faq_answer;    

               $('.question').text(question);
               $('.answer').text(answer);      
         });        
        }, "json"); });

P.S。

enter image description here

1 个答案:

答案 0 :(得分:1)

当您使用class属性将数据设置为accordion元素时,在这种情况下,首先只包含一个元素,结果只会显示最后一个问答集。 / p>

因此,您应该尝试为手风琴而不是单个静态元素创建动态内容。所以首先要创建一个空白的手风琴:

<div id="accordion">
   <!--nothing at first!-->
</div>

然后你可以通过jQuery手风琴设置问题答案段:

  var my_obj = data;        
    $.each(my_obj, function (i) {
     var question = my_obj[i].faq_question;
     var answer = my_obj[i].faq_answer;
     //create new accordion element from the answer question set 
     var dynaContent = "<h3><a href='#' class='question'>'"+question+"'</a></h3><div class='answer'>'"+answer+"'</div>";
    //append it to the accordion container
    $("#accordion").append(dynaContent);
    });
    //refresh accordion
    $('#accordion').accordion("refresh"); 

如果手风琴中有默认元素,这也有效。希望这有帮助。

这是一个有效的DEMO JSFIDDLE