我使用Jquery这样的Ajax方法。
function add_item()
{
item_name=$("#item_names").val()
var pars = item_name;
$.ajax({
url: "/billing/add_bill_detail",
type: "get",
dataType: "html",
data: {"pars" : pars},
success: function(returnData){
alert(returnData)
$("#aaa").append(returnData).html;
}
});
}
如果我为returnData设置警报,则返回一些额外的数据。如下所示。
<!DOCTYPE html>
<html>
<head>
<title>SamplePro</title>
<script src="/javascripts/jquery.js?1363935663" type="text/javascript"></script>
<script src="/javascripts/jquery_ujs.js?1363935663" type="text/javascript"></script>
<script src="/javascripts/application.js?1362549711" type="text/javascript"></script>
<script src="/javascripts/jquery.js?1363935663" type="text/javascript"></script>
<script src="/javascripts/application.js?1362549711" type="text/javascript"></script>
</head>
<body>
<tr class="tablehead">
<td>
BAB-001
</td>
<td>
BABY MASK 1
</td>
<td>
</td>
<td>
<input id="tax_rule_tax_rule" name="tax_rule[tax_rule]" size="30" type="text" value="sfdsf" />
</td>
</tr>
</br>
</body>
</html>
但是文件add_bill_detail actutall包含
<% if from != "reload" %>
<tr class="tablehead">
<td>
<%=from ? item_details.item.item_code : ""%>
</td>
<td>
<%=from ? item_details.item.name : ""%>
</td>
<td>
</td>
<td>
<%= text_field 'tax_rule', 'tax_rule',:value => "sfdsf" %>
</td>
</tr>
<%end%>
</br>
请帮我删除不需要的数据。在此先感谢..
更新的问题:
我添加了以下脚本
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
因为这个我的实际问题是..
这里add_bill_detail的所有值都在一列之下。它应该是4列。
更新了add_bill_detail代码..
<table>
<tr class="tablehead">
<td>
<%=from ? item_details.item.item_code : ""%>
</td>
<td>
<%=from ? item_details.item.name : ""%>
</td>
<td>
</td>
<td>
<%= text_field 'tax_rule', 'tax_rule',:value => "sfdsf" %>
</td>
<td>
<%= text_field 'tax_rule', 'tax_rule2',:value => "vvvv" %>
</td>
</tr>
</table>
答案 0 :(得分:0)
如果您想获取<tr class="tablehead">
代码,只需使用.filter()方法。
alert($(returnData).filter('tr.tablehead').html())
应该有效!
编辑:您使用的是tr
标记而没有父table
标记。因此,浏览器在呈现的HTML中忽略它们,浏览器剥离tr
标记并仅显示文本。由于jquery在渲染的html上工作,它的行为是相同的。
修复:使用父tr
标记包裹您的table
代码,您应该好好去。
我的意思是:
<table>
<tr class="tablehead">
<td>
BAB-001
</td>
<td>
BABY MASK 1
</td>
<td>
</td>
<td>
<input id="tax_rule_tax_rule" name="tax_rule[tax_rule]" size="30" type="text" value="sfdsf" />
</td>
</tr>
</table>
请注意包含table
标记的tr
标记。
以后如何避免此问题?
使用Chrome中的Inspect Element和Firefox中的Firebug等工具,始终检查呈现的HTML的外观。如果您为表格执行此操作,您会注意到浏览器会删除tr标记。