1

我正在使用 rails3-jquery-autocomplete gem 从数据库中获取自动完成项目以及一些我需要预先填写表格的额外数据。

autocomplete :link, :name, :extra_data => [:url, :is_full_screen, :is_auto_trigger, :is_ad, :is_ecommerce]

除 url 之外的所有内容都是布尔标志(用户首选项),用于选中/取消选中复选框并选择表单中的单选按钮。即使 gem 更新了文本字段,但它不会自动更新复选框和单选按钮。我已经在表单视图中指定了 :update_elements :

<%= f.autocomplete_field :name, autocomplete_link_path, :update_elements => {:url => '#link_url', :is_auto_trigger => '#link_is_auto_trigger'}

我该怎么做呢?我尝试探索在选择选项时触发的 railsAutocomplete.select javascript 事件,以执行自定义 js 以选择复选框和单选按钮,但是如何在该事件侦听器中获取数据(来自 sql 查询)?他们是一种更简单的方法吗?

4

1 回答 1

0

我通过执行自定义 javascript 以在选择自动完成选项之一时更新复选框/收音机来解决此问题。railsAutocomplete.select当从自动完成下拉列表中选择一个值时,会在输入字段上触发一个名为的 javascript 事件。data.item 包含您从数据库中获取的所有数据(包括额外数据):

    $('#link_name').bind('railsAutocomplete.select', function(event, data){
      // Custom JS to select radio/checkbox, or do any other complex task
      select_linktype(data.item.linktype);
      select_tracking(data.item.is_ad);
    });
于 2012-11-23T14:14:09.960 回答