0

我在使用引导程序时遇到问题。

我想自动完成一个文本字段,当它完成时,它也会自动完成其他文本字段。

例子:

![自动完成][1]

在此示例中,当我完成字段名称时,我想自动完成姓氏和货物字段。

我的代码是:

控制器:

def new
    @personales            = Personal.all
    respond_to do |format|
      format.js ...
      format.json ...
    end
  end

看法:

<%= javascript_tag "var personales = #{ personales.to_json };" %>

新的.js.erb

$('#name').typeahead({
    source: personales,
    updater: function(item) {
        return item;
    },
    highlighter: function(item){
        return item;
    }
});
4

1 回答 1

1

我有类似的东西,在源代码中我使用 jquery get 获取 json,我将患者存储在一个数组中,然后我使用名称作为键存储每个患者的 json 的地图。在 updater 方法中,我更新了我想要的字段。

这是咖啡代码:

jQuery ->
  map = {};
  $("#request_patient_name").typeahead
    source: (query, process) ->
      return $.get("/worker/patients.json", {query: query}, (data) ->
          patients = data
          names = []
          $.each data, (index, item) ->
            names.push(item["name"])
            map[item.name] = item
          return process(names)
        )
    updater: (item) ->
      $('#request_patient_id').val(map[item].id).trigger('change')
      $('#patient_birthdate').html(map[item].birthdate)
      $('#patient_gender').html(if map[item].gender then "M" else "F")
      $('#patient_mothername').html(map[item].mother_name)
      $('#patient_cpf').html(map[item].cpf)
      return item
于 2013-10-19T14:20:17.717 回答