【问题标题】:How to make value returned by ajax global如何使ajax全局返回值
【发布时间】:2014-07-20 10:11:55
【问题描述】:

我有一个从 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>

【问题讨论】:

  • 如果您在全局范围内有一个变量,那么您可以在您定义的success 函数中写入它。但是,使用success 调用重写选择中的值的“更新”函数可能是一个更好的主意。相关:stackoverflow.com/questions/14220321/…

标签: javascript ajax django


【解决方案1】:

你可以让你的句柄数据函数插入选项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 而不是插入?

【讨论】:

  • 嗨 Stefan,显示 ["123","45566","wrtt","4466"] 而不是一个一个向下显示项目
猜你喜欢
  • 1970-01-01
  • 2011-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多