【问题标题】:Get the id/value/name of checkboxes generated in form with rails使用 rails 获取表单中生成的复选框的 id/value/name
【发布时间】:2009-11-11 10:31:43
【问题描述】:

我在带有一些文本框的rails 中使用fields_for 助手。如何获取这些文本框的 ID 以在某些 Javascript 中使用?我希望能够通过单击某些框来操纵其他复选框的状态。

例如

  <% fields_for "[id][]", app  do |fields| %>
       <%= fields.check_box :featured %>
...

然后使用 scriptaculous 或 onclick 来处理其他生成的复选框发生的情况。

【问题讨论】:

    标签: javascript ruby-on-rails scriptaculous


    【解决方案1】:

    对于可靠的 javascript,预测 id 在动态表单上变得过于混乱。

    相反,您可以使用原型助手和类名来实现类似的功能。

    让这个 javascript 可用于您的页面:

    var myrules = {
      '.highlightFeatured': function (e){ 
      clicked_on_box = Event.element(e)
      container = clicked_on_box.up('form')
      box_to_modify = container.down('.featured')
      new Effect.Highlight(box_to_modify)
      };
    };
    
    Event.observe(window, 'load', function(){
      $('fields').delegate('click', myrules);
    });
    

    并按照这些思路定义您的视图。现在,当点击虚假复选框时,特色将突出显示。

    <% fields_for "[id][]", app  do |fields| %>
      <div id="fields">
       <%= fields.check_box :featured, :class => "featured" %>
       <%= fields.check_box :bogus, :class => "highlightFeatured" %>
       ...
      </div>
    <% end %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-21
      • 1970-01-01
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      相关资源
      最近更新 更多