Javascript jQuery在Rails中的AJAX问题
现在,我正在从控制器端请求一个用户列表,并生成html代码并附加它 我这样做的代码Javascript jQuery在Rails中的AJAX问题,javascript,jquery,html,ruby-on-rails,ajax,Javascript,Jquery,Html,Ruby On Rails,Ajax,现在,我正在从控制器端请求一个用户列表,并生成html代码并附加它 我这样做的代码 $.ajax({ type : "get", contentType : "application/json; charset=utf-8", url : "/users/search_users", data : { name : name }, dataType : "text",
$.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!");
}
});
$("#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})]
它工作正常,但我的老板想用
$.load和rails代码
我在谷歌上搜索了一些这样的示例代码
$.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!");
}
});
$("#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})]
此示例代码是,从控制器端获取下拉框数据
并使用form.select在视图侧自动生成数据
在我的例子中,是否可以像我在第一个代码中所做的那样,使用rails代码放置带有特定属性的tr和td标记
我的老板希望使用rails代码自动生成html代码,而不是像我所做的那样手动生成标记
我认为rails表单助手只支持简单的文本字段、选择框或输入之类的内容。他们也支持桌子吗?放置tr和td标签
有什么好的解决方案吗?我不是form helper的超级粉丝,但下面是我要做的
<%= 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 %>