如何使用 rails3-jquery-autocomplete 更新复选框/单选按钮

How to update a checkbox/radio button with rails3-jquery-autocomplete

本文关键字:单选按钮 复选框 更新 何使用 rails3-jquery-autocomplete      更新时间:2023-09-26

我正在使用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 查询)?他们是一种更简单的方法吗?

我通过执行自定义 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);
    });