javascript - 在下拉表单中更改所选值后提交 Rails

标签 javascript ruby-on-rails ajax

我有一个 Rails 应用程序,其中在表格中列出了销售线索。在其中一列中,我在下拉菜单中显示潜在客户的状态。我想在更改下拉列表中选择的值时启用更改潜在客户的此状态。

这是我尝试过的:

在表格单元格中显示表单的代码:

      <% @leads.each do |lead| %>
  <tr>
    <td><%= lead.id %></td>
<td><%= form_for(lead,:url => 'update_lead_status') do |f| %>
              <div class="field">
                <%= f.select :status, ["to_call","called","confirmed","lite"], :selected => lead.status, onchange: "this.form.submit();" %>
              </div>
            <% end %>
        </td>

leads Controller 中的 update_lead_status 方法:

#PUT
  def update_lead_status
    @lead = Lead.find(params[:id])
    respond_to do |format|
      # format.js
      if @lead.update_attributes(params[:lead])
        format.html { redirect_to leads_url, notice: 'Lead was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render action: "edit" }
        format.json { render json: @lead.errors, status: :unprocessable_entity }
      end
    end
  end

另外我希望提交是 Ajax 样式而不刷新。

最佳答案

设置表单id然后提交表单

<%= form_for(lead,:url => 'update_lead_status',:html=>{:id=>'lead_form'}) do |f| %>

 <%= f.select :status, ["to_call","called","confirmed","lite"], :selected => lead.status, onchange: "$('#lead_form').submit();" %>
<% end %>

关于javascript - 在下拉表单中更改所选值后提交 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16119076/

相关文章:

javascript - 使用 Javascript 遍历表格

javascript - 我想使用 async/await 访问 API

javascript - 绕过多维数组

ruby-on-rails - Rails 测试中的 assert_redirected_to

css - 如何制作 Bootstrap 按钮,点击重定向到特定页面

jquery - jQuery的empty()和remove()函数是否异步执行?

php - jquery, undefined variable 问题,怎么办?

css - 每行四个产品 Bootstrap/ROR 停止使用添加的信息?

javascript - 如何使用 javascript 发送多个文件而不是 jQuery 我想要每个文件一个进度条?

javascript - Ajax POST FormData 在 Spring MVC 中抛出异常