如何使ajax全局返回值

时间:2014-07-20 10:11:56

标签: javascript ajax django

我有一个从django函数返回值的ajax函数。 我想使输出全局化,以便我可以在选择下拉列表中使用它。 这是我的代码。

$(document).ready(function () 
{ 
  function AjaxCall(HandleData) 
  {
    return $.ajax({
    url: "/evidence_values/",
    type: "post",
    data: {'evidence':document.getElementById('evidence').value},
    success: function(data){ HandleData(data);}
                   });
  }

    $("#save").click(function(){
       AjaxCall(function(output){filter_data = output});
                               });

    function CallAjax(DataHandle) 
    {
     return $.ajax({
                  url: "/get_evidence_items/",
                  type: "post",
                  success: function(data){DataHandle(data);}
                  });
    }

    $("#evidence_selected").click(function(){
       CallAjax(function(output){items_data = output});
                                             });

和index.html中其他地方的下拉列表

<select name="evidence_selected" id="evidence_selected" style="margin-right:20px;color:#5c89db;margin-top:20px;margin-left:40px;height: 2em;border-radius: 3px;">

<option value="selectedvidence" id="selectedvidence"name="selectedvidence">Select Evidence Number</option>

{% for item in items %}
<option value="{{item.evidence}}">{{ item.evidence }}</option>
{% endfor %}
<option id="new"value="new">New</option>

</select>

1 个答案:

答案 0 :(得分:0)

您可以使用句柄数据功能插入选项into the select?

  $("#evidence_selected").append('<option value=1>' + dataStr + '</option>');

或者,将值存储在array:

 var evidenceArray = [];
 evidenceArray.push(dataStr);

然后从数组创建foreach

$("#evidence_selected").empty();
$.each(evidenceArray , function() 
{
  $("#evidence_selected").append('<option value=1>' + this+ '</option>');
});

但如果你正在填补ajax的成功,我不确定为什么你会使用for-each而不是插入?