Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 筛选集合\u按coffeescript中的值选择_Javascript_Ruby On Rails - Fatal编程技术网

Javascript 筛选集合\u按coffeescript中的值选择

Javascript 筛选集合\u按coffeescript中的值选择,javascript,ruby-on-rails,Javascript,Ruby On Rails,我有一个咖啡剧本: jQuery -> $('#cmbPab').change -> ubis = $('#cmbUbi').html() pabellon = $(this).val() options = $('#cmbUbi').filter("FilterByValue") 我想让它按值过滤选项,我已经看过railcats的东西,但他用不同的方式过滤,我需要按值过滤,因为值是我的id 以下是两个集合的cod,其中cmbPab

我有一个咖啡剧本:

jQuery ->
    $('#cmbPab').change ->
       ubis = $('#cmbUbi').html()
       pabellon = $(this).val()
       options = $('#cmbUbi').filter("FilterByValue")
我想让它按值过滤选项,我已经看过railcats的东西,但他用不同的方式过滤,我需要按值过滤,因为值是我的id

以下是两个集合的cod,其中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>

'表单控件',:id=>'cmbPab'>
“形式-
控件“,:id=>”cmbUbi“%”

我相信您的目标是:

$('#cmbPab').change ->
  displayFilterFn = (i, el) -> $(el).val() == 'something?' // do your filtering
  $ubis = $('#cmbUbi')
  $ubis.children().hide()
  $ubis.children().filter(displayFilterFn).show()
如果不知道过滤选项的具体方式,除了基于值之外,我无法为您提供过滤函数实现(
displayFilterFn
)。基本思想是首先隐藏所有选项,然后显示与过滤器匹配的选项


有关
.filter()
的更多信息,请参阅。

以下是答案!我认为这是最好的方法,也许不容易,但它的工作


您应该在问题中添加相关的HTML。id为cmbUbi的元素是什么?它包含什么?此外,当您说filter时,您的意思是希望隐藏某些元素还是仅从元素的子集中检索某些属性?CMBAB和cmbUbi都是集合\u select,cmbUbi必须根据在CMBAB集合\u select上选择的项目更改其拥有的集合,所以我只想检索一些元素,用新的内容填充组合谢谢,最后我用ajax对一个控制器方法完成了,我留下解决方案的答案,无论如何,非常感谢!