按照coffeescript中的值删除collection_select

时间:2017-07-04 21:58:32

标签: javascript ruby-on-rails

好吧,我有这个咖啡:

jQuery ->
    $('#cmbPab').change ->
       ubis = $('#cmbUbi').html()
       pabellon = $(this).val()
       options = $('#cmbUbi').filter("FilterByValue")

我希望它按值过滤选项,我已经看到了铁轨的东西,但他以不同的方式过滤我需要按价值来做,因为价值是我的身份

这是collection_select的鳕鱼,其中cmbPab是我的主要组合:

        <div class="form-group">
         <%= f.label :Pabellon %>
         <%= f.collection_select :idubicacion, Mtopabellon.all, 
             :codpabellon, :nombre, {prompt: 'Seleccione un pabellón'}, 
             :class=>'form-control', :id => 'cmbPab'%>
        </div>

        <div class="form-group">
          <%= f.label :Ubicacion %>
          <%= f.collection_select :idubicacion, CrUbicacion.all, :id, 
          :nombre, {prompt: 'Seleccione una ubicación'}, :class=>'form-
          control', :id => 'cmbUbi'  %>
        </div>

2 个答案:

答案 0 :(得分:0)

我相信你是按照以下方式做的事情:

$('#cmbPab').change ->
  displayFilterFn = (i, el) -> $(el).val() == 'something?' // do your filtering
  $ubis = $('#cmbUbi')
  $ubis.children().hide()
  $ubis.children().filter(displayFilterFn).show()

在不知道您希望如何过滤选项的细节的情况下,除了它基于该值之外,我无法为您提供过滤功能实现(上面的displayFilterFn)。基本思路是首先隐藏所有选项,然后显示与您的过滤器匹配的选项。

有关.filter()的详情,请参阅jQuery API Documentation

答案 1 :(得分:0)

这是答案的家伙!我认为这是最好的方法,也许不是更容易,但它有效!

https://kernelgarden.wordpress.com/2014/02/26/dynamic-select-boxes-in-rails-4/