javascript - Rails 中的 AJAX 与 jQuery 问题

标签 javascript jquery html ruby-on-rails ajax

现在,我正在从 Controller 端请求用户列表,并制作 html 代码并附加它。

我编写了这样的代码,

$.ajax({

        type : "get",
        contentType : "application/json; charset=utf-8",
        url : "/users/search_users",
        data : {
            name : name
        },
        dataType : "text",
        success : function(result) {
            if (result == "User not found") {
                alert("User not found");
            } else {
                //console.log(result);
                var peopleData = jQuery.parseJSON(result);
                var resultHTML = "<tr>";
                resultHTML += "<th></th><th style='display:none'>User ID</th>" + "<th>First Name</th><th>Last Name</th><th>Email Address</th>" + "<th style='display:none'>Time Zone</th>";
                resultHTML += "</tr>";
                $.each(peopleData, function(index, obj) {

                    resultHTML += "<tr>";
                    resultHTML += "<td><input type='checkbox'></td>" + "<td style='display:none;'>" + obj.id + "</td>" + "<td>" + obj.firstname + "</td>" + "<td>" + obj.lastname + "</td>" + "<td>" + obj.email + "</td>" + "<td style='display:none;'>" + "Etc/GMT+9 (Japan)" + "</td>";
                    //consider now
                    resultHTML += "</tr>";

                });

                $("#internal_table").html(resultHTML);
            }
        },
        error : function() {
            window.alert("something wrong!");
        }
    });

它工作得很好,但我的老板想改变这个代码,使用 $.load和rails代码。

我用谷歌搜索了一些这样的示例代码,

$("#ad_ad_ad_ad_type_id").load('/ad_ad_types/ajax_types?adtype='+$("#ad_ad_adtype").val());

form_rows << [f.label(:screen_type, t('ad.ad_type')), f.select(:ad_ad_type_id, @ad_ad_types.map{|st|[st.description, st.id]}, {:selected => @ad_ad.ad_ad_type_id})]

该示例代码是,从 Controller 端获取下拉框数据,

并使用 form.select 它正在制作 <option>data</option>自动在 View 侧。

就我而言,是否可以使用rails code 将 tr 和 td 标签与特定属性一起放置,就像我在第一个代码中所做的那样?

我的老板想使用 Rails 代码自动制作此 html 代码,而不是像我所做的那样手动制作标签。

我认为 Rails 表单助手仅支持简单的文本字段或选择框或输入此类内容。他们也支持 table 吗?放置 tr 和 td 标签?

有什么好的解决办法吗?

最佳答案

我不是表单助手的忠实粉丝,但这就是我会做的,

<%= form_for(< your config here >) do |f|%>
    <tr>
        <td>
            <%= f.label(:screen_type, t('ad.ad_type')) %>
        </td>
        <td>
            <%= f.select(:ad_ad_type_id, @ad_ad_types.map{|st|[st.description, st.id]}, {:selected => @ad_ad.ad_ad_type_id}) %>
       </td>
    </tr>
<% end %>

关于javascript - Rails 中的 AJAX 与 jQuery 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20260199/

相关文章:

javascript - 当我单击 div 时,div 应该刷新并且应该显示刷新的数据

jquery 用户界面 : how to open a dialog

javascript - 需要显示有关手机的验证错误消息

html - 如何在不使用百分比的情况下自动添加 div 之间的间距?

javascript - 使用按钮自定义滚动

javascript - Algolia Instantsearch for rails 没有结果

jQuery 在另一个动画期间向元素添加动画

javascript - 使用 jQuery 和 Node 在 DOM 上填充数据的最佳方式

html - 动画文本转换大写

javascript - 在 QueryRenderer 中传递中继现代变量