1

我有一个使用 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>
4

1 回答 1

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 标记被浏览器剥离。

于 2013-03-23T05:53:25.663 回答