【问题标题】:Why working observe_field code doesn't work with JQuery Model dialog box?为什么工作的 observe_field 代码不适用于 JQuery Modal 对话框?
【发布时间】:2011-10-07 10:06:16
【问题描述】:

我正在 Rails 上开发一个项目,但在获取下拉菜单中的选定项目时遇到问题。它在视图/应用程序上运行良好,但是当我尝试使用相同的代码在 jQuery 模型对话框中获取所选项目时,它对我不起作用。有人可以解释这个问题吗?我不能在模型对话框上使用observe_field吗?

这是我的代码:

        <%= label_tag :Search_by %>
         <select name="search" id="search" >
            <option value="0">Name</option>
            <option value="1">Trainer</option>
            <option value="2">Venue</option>
            <option value="3">Date</option>
         </select>

        <div id="div_to_be_updated" style="float:right">
            <%= render 'layouts/new_search' %>
        </div>

            <%= observe_field 'search', :update => 'div_to_be_updated',
            :url => {:controller => 'events', :action=> 'find' },
            :with => "'is_delivery_address=' + escape(value)" %>                 
        </div>

这是我在“事件”控制器中的“查找”方法:

enter code here
def find
@trainers= Trainer.all
@countries= Country.all

        if ["0"].include?(params[:is_delivery_address])
            render :partial => 'layouts/new_search'
        else if ["2"].include?(params[:is_delivery_address])
            render :partial => 'layouts/venu_search'
        else if ["1"].include?(params[:is_delivery_address])
            render :partial => 'layouts/trainer_search'
        else
            # check element is date range...
            render :partial => 'layouts/date_search'

        end
        end
    end
end

我不明白这个问题的原因。它适用于 application.html.erb 文件,但不适用于 jQuery 模型对话框。

【问题讨论】:

  • 你的问题有点不清楚。但是,听起来您可能正在寻找 jQuery 的 live() 函数。它允许您观察动态生成的 DOM 对象(例如对话框)。
  • 我只需要知道如何使用观察 Jquery 模型对话框上的下拉菜单。我已经为观察字段添加了工作代码,但它在模型对话框中不起作用。所以我需要知道如何做到这一点?
  • 我也有同样的问题仍在解决这个问题:(

标签: jquery ruby-on-rails drop-down-menu


【解决方案1】:

我看到here RoR 使用 Prototype 在表单中创建“可观察”元素。如果在您创建 jQuery modal 对话框之前发生这种情况(我想您再次使用 jQuery UI 对话框),它可能会“观察到”错误或不存在的元素。

尝试在 RoRs PrototypeHelpers 运行之前在 observable ergo 之前创建对话框。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多