如何在表单中逐行显示json数组

时间:2012-10-10 13:10:46

标签: jquery json forms

我执行ajax调用发布,然后在两个给定日期之间的所有日期从控制器检索。 这是我的JS功能:

function  getDays()
    {

          var  date1= $('#start_date').val();
          var  date2=$('#end_date').val();
          $.ajax({
            type:'POST',
            url : '<?php echo site_url()."/public/hours/getHoursDetails/"; ?>',
            data : 'start_date='+date1+'&end_date='+date2,

            success:function(data)
                 {  $('#result').html(data);
                    $('#hoursDetails').show();
                           }

                    }); 
     } 

我看到了我需要的所有日子的清单。但我想要做的是在每个日期之后显示一些输入,比如

<label><strong>Action(s)</strong></label>   
<textarea class="span8" style="height:100px" placeholder="Description de votre action"
id="action" name="action"></textarea> 
<label><strong>Number of hours :</strong></label><input type="text" class="span4" id="hours" name="hours" placeholder="number of hours"/>

我的问题是我不能每个日期逐行显示。 以下是我对自己观点的一个例子:

"Tuesday, October 09 2012."
"Wednesday, October 10 2012."
"Thursday, October 11 2012."
"Friday, October 12 2012."

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

你不能只从结果中取出每个日期,追加额外的HTML,然后在插入#result元素之前将它们全部加在一起吗?

将额外的HTML放在变量中:

var inputHTML = '<label><strong>Action(s)</strong></label><textarea class="span8" style="height:100px" placeholder="Description de votre action" id="action" name="action"></textarea><label><strong>Number of hours :</strong></label><input type="text" class="span4" id="hours" name="hours" placeholder="number of hours"/>';
var date1= etc...

然后在成功函数内:

var resultHTML = ""
var datesArray = data.split('.');
for (i=0;i<datesArray.length-1;i++) {
    resultHTML += datesArray[i] + inputHTML;
}
$('#result').html(resultHTML);