2013-03-23 1 views
1

У меня есть метод Ajax, как это, используя JQuery.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> 

Моя актуальная проблема из-за этого ..

enter image description here

здесь все значения из add_bill_detail идут под одним столбцом. он должен идти до 4 столбцов. enter image description here

обновленный 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

внутри 'add_bill_detail' просто выводит код таблицы, а не html и другой код .. –

+0

@DipeshParmar я не получаю. Пожалуйста, отправьте ответ. –

+0

Имеется ли в вашем скрипте какой-либо код заголовка и нижнего колонтитула.? –

ответ

0

Если вы хотите получить <tr class="tablehead"> теги, просто используйте метод .filter().

alert($(returnData).filter('tr.tablehead').html()) должно работать!

EDIT: Вы используете тег tr без родительского тега table. Следовательно, они игнорируются в отображаемом HTML браузером, браузер отбрасывает теги tr и отображает только текст. Поскольку jquery работает с визуализированным html, его поведение одинаково.

Fix: Оберните 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 тег.

Как избежать этой проблемы в будущем?

Всегда проверяйте, как выглядит ваш отображаемый HTML, с помощью инструмента, такого как Inspect Element, в Chrome и Firebug в firefox. Если вы сделаете это для своей таблицы, вы заметите, что теги tr теряются в браузере.

+0

его давая ошибку следующим образом returnData.find не является функцией alert (returnData.find ('tablehead'). html()) –

+0

@poojaagarwal Хорошо! Я был неправ. Я предположил, что у вас есть returnData как объект jquery. Попробуйте использовать 'alert ($ (returnData) .filter ('. Tablehead'). Html())' –

+0

его предупреждение как неопределенное. –

Смежные вопросы