Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Jquery RubyonRails:根据选择框中的更改以JS形式提交表单_Jquery_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Jquery RubyonRails:根据选择框中的更改以JS形式提交表单

Jquery RubyonRails:根据选择框中的更改以JS形式提交表单,jquery,ruby-on-rails,ruby-on-rails-3,Jquery,Ruby On Rails,Ruby On Rails 3,我在Rails中通过form_tag和select_tag生成了以下HTML: <form accept-charset="UTF-8" action="/deployment_group/show_workflow_list" data-remote="true" id="show_workflow_list_form" method="get"><div style="margin:0;padding:0;display:inline"><input name=

我在Rails中通过
form_tag
select_tag
生成了以下HTML:

<form accept-charset="UTF-8" action="/deployment_group/show_workflow_list" data-remote="true" id="show_workflow_list_form" method="get"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="&#x2713;" /></div>
  <select id="folder_name_foldernames" name="folder_name[foldernames]">
    <option value="RISK_ODS" selected="selected">RISK_ODS</option>
    <option value="DETAIL_ADJUSTMENT">DETAIL_ADJUSTMENT</option>
    <option value="ODS_STAGE">ODS_STAGE</option>
    <option value="FINANCE_DM1">FINANCE_DM1</option>
  </select>
</form>
我在application.js文件中使用了上述代码 但我必须删除“require_tree”,因为我遇到了一些错误 所以我补充说

$('#folder_name_foldernames').change = () ->
  $('#show_workflow_list_form').submit() 
到my deployment_group.js.coffee文件(deployment_group是与上述视图相关的我的控制器)

但是当我在下拉列表中更改选择时,我仍然看不到任何更改。
请帮助。

如果您为您的
标签提供
id
,您可以在那里使用
id

比如:


别忘了用引号将选择器括起来,否则会出现JavaScript错误。

尝试用“application.js.coffee”替换“application.js”,并在文件中添加
#=require_self

我通过以下方式解决了此问题:

<%= f.select :foldernames, options_for_select(@folders, @folders.first), {}, {:onchange=>"myfunc()"}%>
“myfunc()”}%>
我补充说

<script type="text/javascript">
function myfunc()
{
    $('#folder_name_foldernames').change(function(){     $('#this_form').submit(); }); 
}
</script>

函数myfunc()
{
$(“#文件夹名称(文件夹名称)”).change(函数(){$(“#此表单”).submit();});
}
表单将作为JS而不是HTML提交。如果有人能向我解释为什么这是作为JS而不是HTML提交的,那将非常有帮助
当我将application.js重命名为application.js.coffee并在我的coffee脚本中添加以下代码时,同样的代码在我编写时被提交为:onchange=>this.form.submit,作为HTML

No:(它说同样的“无法将编码转换为字符串(c:/Final/authorize\u v1/app/assets/javascripts/application.js.coffee)”,再次出错->“#=require jquery#=require jquery_ujs#=require_self$('#文件夹名_foldernames')。change=()->$('#显示工作流程列表_表单')。submit()”让我知道这个脚本是错误的请参阅我的问题解决方案。非常感谢您的帮助,这样您就可以保留
application.js了,在代码中添加类似
的引号。”#文件夹_name _foldernames“
和此
“#显示_工作流_列表”,并且您必须包含jquery。确实我这样做了,并且它现在正在工作。我将很快发布另一个与另一个问题相关的问题;)
$('#folder_name_foldernames').change(function(){
    $('#this_form').submit();
});
<%= f.select :foldernames, options_for_select(@folders, @folders.first), {}, {:onchange=>"myfunc()"}%>
<script type="text/javascript">
function myfunc()
{
    $('#folder_name_foldernames').change(function(){     $('#this_form').submit(); }); 
}
</script>