0

我设法编写了一个 jquery 来执行以下操作:

  • 在多选中选择新项目后,jquery 将加载具有特定 url 的 div 项目并检索输入小部件以将其放置在那里。

首先将 onChange 事件附加到选择小部件:

$(document).ready(function () {
  $("#id_deals").change(deal_edit_func);
});

现在将选定的值发送到 url

function deal_edit_func(e) {
  var item = $('#deal_status')
  var selected = $(e.target).val();
  item.load(
    "/deal_status/" + selected,
    null
  );
  return false;
}

视图内:

def _deal_status_view(request, deal_id):
    ids = deal_id.split(',')
    deal_status = DealStatus.objects.all()
    variables = RequestContext(request, {'deal_statuses': deal_status, 'ids': ids})
    return render_to_response('_deal_status.html', variables)

_deal_status.html:

<input type="text" value="{{deal_status}}" name="deal_status">

只要只选择了一项,就会返回一个输入并将其加载到 div 标签中。这很好用。

现在我需要将此解决方案扩展为,只要选择了多个项目,就会返回多个输入,而不是像上面那样只返回一个。但这就是我卡住的地方。我到底要如何做到这一点?html 将始终是固定的...

任何帮助,将不胜感激,

4

1 回答 1

0

您可以将您的响应序列化为其他格式(例如 xml、json),这些格式可以很容易地被 jquery 或 javascript 解析。因此,您的视图将返回多个序列化对象,然后您的 javascript 将处理返回的对象。

于 2012-07-19T15:58:40.380 回答